/** * Initialize objects for logging. We have two logs files: * - gid-last-request.log: to see logger for the last request * - gid-all-requests.log: to see all logger for all request * * @param \LoggerHierarchy Object to handle objects for logging. * @param mixed Either path to the config file or the configuration as * an array. * @return void */ public function configure(\LoggerHierarchy $hierarchy, $input = null) { //Create a logger layout $layout = new \LoggerLayoutPattern(); $layout->setConversionPattern("%d{Y-m-d H:i:s}[%r] %-5level %C.%M[%L] %msg%n"); $layout->activateOptions(); // Create an appender which logs to file $appLog = new \LoggerAppenderRollingFile('main'); $appLog->setFile($this->log_path . 'gid-all-requests.log'); $appLog->setAppend(true); $appLog->setMaxFileSize('2MB'); $appLog->setMaxBackupIndex(5); $appLog->setThreshold($this->threshold); $appLog->setLayout($layout); $appLog->activateOptions(); //Create an appender which logs Console $appConsole = new \LoggerAppenderFile('console'); $appConsole->setFile($this->log_path . 'gid-last-request.log'); $appConsole->setAppend(false); $appConsole->setThreshold($this->threshold); $appConsole->setLayout($layout); $appConsole->activateOptions(); // Add appenders to the root logger $root = $hierarchy->getRootLogger(); $root->addAppender($appLog); $root->addAppender($appConsole); }
private function setupLogging() { $this->logger = Logger::getLogger('Panopta API'); $this->logger->setLevel($this->logLevel == LOG_INFO ? LoggerLevel::getLevelInfo() : LoggerLevel::getLevelDebug()); $logAppender = new LoggerAppenderDailyFile(); $logAppender->setFile(rtrim(rtrim($this->logPath, "/"), "\\") . DIRECTORY_SEPARATOR . "panopta_api.log"); $logAppender->setAppend(true); $logAppender->setDatePattern("yyyy-MM-dd'.log'"); $logAppender->setThreshold($this->logLevel); $pattern = new LoggerLayoutPattern(); $pattern->setConversionPattern("%date - %logger - %level - %message%newline"); $logAppender->setLayout($pattern); $logAppender->activateOptions(); $this->logger->addAppender($logAppender); }
public function XtestWarnLayout() { /* Comment in when this has been fixed: 1) testWarnLayout(LoggerLayoutPatternTest) Undefined index: log4php.LoggerPatternConverter.spaces /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/helpers/LoggerPatternConverter.php:131 /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/helpers/LoggerPatternConverter.php:104 /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/main/php/layouts/LoggerPatternLayout.php:216 /Users/cgrobmeier/Documents/Development/workspace/log4php-trunk/src/test/php/layouts/LoggerLayoutPatternTest.php:45 * */ $event = new LoggerLoggingEvent("LoggerLayoutXml", new Logger("TEST"), LoggerLevel::getLevelWarn(), "testmessage"); $layout = new LoggerLayoutPattern(); $layout->setConversionPattern("%-5p %c %X{username}: %m in %F at %L%n"); $v = $layout->format($event); $e = 'WARN TEST : testmessage in NA at NA' . PHP_EOL; self::assertEquals($v, $e); }
private function formatEvent($event, $pattern) { $layout = new LoggerLayoutPattern(); $layout->setConversionPattern($pattern); $layout->activateOptions(); return $layout->format($event); }
/** * Helper function. * * Configures Apache's Log4PHP RootLogger based on values obtained from the * ESAPI properties file. All instances of Log4PHP Logger will inherit the * configuration. * * @return does not return a value. */ private static function _initialise() { self::$_initialised = true; $secConfig = ESAPI::getSecurityConfiguration(); $logLevel = $secConfig->getLogLevel(); // Patterns representing the format of Log entries // d date, p priority (level), m message, n newline $dateFormat = $secConfig->getLogFileDateFormat(); $logfileLayoutPattern = "%d{{$dateFormat}} %m %n"; // LogFile properties. $logFileName = $secConfig->getLogFileName(); $maxLogFileSize = $secConfig->getMaxLogFileSize(); $maxLogFileBackups = $secConfig->getMaxLogFileBackups(); // LogFile layout $logfileLayout = new LoggerLayoutPattern(); $logfileLayout->setConversionPattern($logfileLayoutPattern); // LogFile RollingFile Appender $appenderLogfile = new LoggerAppenderRollingFile('ESAPI LogFile'); $appenderLogfile->setFile($logFileName, true); $appenderLogfile->setMaxFileSize($maxLogFileSize); $appenderLogfile->setMaxBackupIndex($maxLogFileBackups); $appenderLogfile->setLayout($logfileLayout); if ($logLevel !== 'OFF') { $appenderLogfile->activateOptions(); } // Get the RootLogger and reset it, before adding our Appenders and // setting our Loglevel $rootLogger = Logger::getRootLogger(); $rootLogger->removeAllAppenders(); $rootLogger->addAppender($appenderLogfile); $rootLogger->setLevel(self::_convertESAPILeveltoLoggerLevel($logLevel)); }
<?php require_once BASE_PATH . "/lib/log/log4php/Logger.php"; $log = Logger::getRootLogger(); $log->setLevel(LoggerLevel::toLevel(AE_LOG_LEVEL)); $appender = new LoggerAppenderRollingFile("MyAppender"); $appender->setFile(BASE_PATH . "/log/tephlon.log", true); $appender->setMaxBackupIndex(10); $appender->setMaxFileSize("10MB"); $appenderlayout = new LoggerLayoutPattern(); $pattern = '%d{d.m.Y H.i.s:u} [%p] %t: %m (at %M)%n'; //$pattern = '%d{d.m.Y H.i.s:u} [%p] %m %n'; $appenderlayout->setConversionPattern($pattern); $appender->setLayout($appenderlayout); $appender->activateOptions(); $log->removeAllAppenders(); $log->addAppender($appender); $log->info(" *** Engine initializing ***"); function getLogger() { global $log; return $log; } function initLogger() { $loggerName = "log"; // Iterate over all declared classes $classes = get_declared_classes(); foreach ($classes as $class) { $reflection = new ReflectionClass($class); // If the class is internally defined by PHP or has no property called "logger", skip it.