public static function configureFileLogs(Monolog $monolog, $filePath)
 {
     $files = new RotatingFileHandler($filePath, 365, Logger::DEBUG, true, 0666);
     $files->setFormatter(new HtmlFormatter());
     $files->pushProcessor(new WebProcessor());
     $files->pushProcessor(new IntrospectionProcessor(Logger::DEBUG));
     $monolog->pushHandler($files);
 }
Пример #2
0
use Monolog\Processor\MemoryUsageProcessor;
use Symfony\Component\ClassLoader\Psr4ClassLoader;
// this makes our life easier when dealing with paths. Everything is relative to the application root now.
chdir(dirname(__DIR__));
// initialize autoloading
require __DIR__ . '/../vendor/autoload.php';
$loader = new Psr4ClassLoader();
$loader->addPrefix('Pids\\', 'src' . DIRECTORY_SEPARATOR . 'Pids');
$loader->register();
// load config
$aConfig = (include_once 'config' . DIRECTORY_SEPARATOR . 'config.php');
// create logger
$oLogger = new Logger('pids');
if ($aConfig['logging']['enable']) {
    $oHandler = new RotatingFileHandler('log' . DIRECTORY_SEPARATOR . 'access.log', 7, $aConfig['logging']['level']);
    $oHandler->pushProcessor(new WebProcessor());
    if ($aConfig['logging']['level'] == Logger::DEBUG) {
        $oHandler->pushProcessor(new MemoryUsageProcessor());
    }
    $oLogger->pushHandler($oHandler);
}
// create controller and process request
$oController = new Controller($aConfig, $oLogger);
try {
    $sImage = $oController->process($_REQUEST["filter"], $_REQUEST["options"], $_REQUEST["file"]);
    header("Expires: " . gmdate("D, d M Y H:i:s", time() + 3600) . " GMT");
    header("Cache-Control: max-age=3600, must-revalidate");
    header("Content-Type: image/jpeg");
    readfile($sImage);
    exit;
} catch (Exception $e) {