Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 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 format(\LoggerLoggingEvent $event)
 {
     $format = parent::format($event);
     $throwableInfo = $event->getThrowableInformation();
     if ($throwableInfo === null) {
         return $format;
     }
     $renderer = new \LoggerRendererException();
     return $format . $renderer->render($throwableInfo->getThrowable()) . "\n";
 }
 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);
 }
 /**
  * activateOptions method
  *
  * Inherited method triggered after object construction, which shall set
  * status of appender openness ($this->closed)
  *
  * @return bool True if appender is open
  */
 public function activateOptions()
 {
     global $wpdb;
     $this->_db = $wpdb;
     $this->closed = false;
     if (!$this->_create_table()) {
         $this->closed = true;
     } else {
         $converter_map = LoggerLayoutPattern::getDefaultConverterMap();
         foreach ($this->_pattern as $pattern) {
             $parser = new LoggerPatternParser($pattern, $converter_map);
             $this->_converters[] = $parser->parse();
         }
     }
     return !$this->closed;
 }
Ejemplo n.º 6
0
 /**
  * Acquires a database connection based on parameters.
  * Parses the insert pattern to create a chain of converters which will be
  * used in forming query parameters from logging events.
  */
 public function activateOptions()
 {
     try {
         $this->establishConnection();
     } catch (PDOException $e) {
         $this->warn("Failed connecting to database. Closing appender. Error: " . $e->getMessage());
         $this->close();
         return;
     }
     // Parse the insert patterns; pattern parts are comma delimited
     $pieces = explode(',', $this->insertPattern);
     $converterMap = LoggerLayoutPattern::getDefaultConverterMap();
     foreach ($pieces as $pattern) {
         $parser = new LoggerPatternParser($pattern, $converterMap);
         $this->converters[] = $parser->parse();
     }
     $this->closed = false;
 }
Ejemplo n.º 7
0
 private function formatEvent($event, $pattern)
 {
     $layout = new LoggerLayoutPattern();
     $layout->setConversionPattern($pattern);
     $layout->activateOptions();
     return $layout->format($event);
 }
Ejemplo n.º 8
0
 /**
  *  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));
 }
Ejemplo n.º 9
0
<?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.
 public function testMemoryPrecisionLabel()
 {
     $this->mockFunction('memory_get_usage', function () {
         return 1024 * 1024 * 1024 * 1024 * 1024 + 12 * 1024;
     });
     $layout = new LoggerLayoutPattern('{memory:0,bytes,kbytes,mbytes}');
     $this->assertEquals('1073741824mbytes' . PHP_EOL, $layout->formatMessage(new Logger("root"), Logger::INFO, ''));
     $layout = new LoggerLayoutPattern('{memory:2,bytes,kbytes,mbytes}');
     $this->assertEquals('1073741824.01mbytes' . PHP_EOL, $layout->formatMessage(new Logger("root"), Logger::INFO, ''));
 }