Esempio n. 1
0
 public static function injectTo(Di $di)
 {
     $di->setShared('logger', function () use($di) {
         $logger = new Multiple();
         $config = $di->get('config')['loggers'];
         foreach ($config as $logConfig) {
             $adapter = $logConfig['adapter'];
             $options = isset($logConfig['options']) ? $logConfig['options'] : null;
             $logger->push(new $adapter($logConfig['name'], $options));
         }
         return $logger;
     });
 }
Esempio n. 2
0
 public function __construct(DI $di, $aggregate = true, $formatter = 'line')
 {
     $this->_di = $di;
     $this->_debugbar = $this->_di['debugbar'];
     $this->_formatter = strtolower($formatter);
     if ($di->has('log') && ($log = $di->get('log'))) {
         $debugbar_loger = new Debugbar($di['debugbar']);
         if ($log instanceof Adapter) {
             $di->remove('log');
             $multiple = new Multiple();
             $multiple->push(clone $log);
             $multiple->push($debugbar_loger);
             /** @var DI\Service $service */
             $di->set('log', $multiple);
         } elseif ($log instanceof Multiple) {
             $log->push($debugbar_loger);
         }
         $this->_aggregate = $this->isAggregate($aggregate);
     }
 }
Esempio n. 3
0
 /**
  * Tests multiple loggers
  *
  * @issue  2798
  * @author Serghei Iakovlev <*****@*****.**>
  * @since  2016-01-28
  */
 public function testMultipleLoggers()
 {
     $this->specify("Multiple logging does not works correctly", function () {
         $I = $this->tester;
         $file1 = $I->getNewFileName('log', 'log');
         $file2 = $I->getNewFileName('log', 'log');
         $logger = new Multiple();
         $logger->push(new File($this->logPath . $file1));
         $logger->push(new File($this->logPath . $file2));
         $logger->setFormatter(new Json());
         $logger->log('This is a message');
         $logger->log("This is an error", Logger::ERROR);
         $logger->error("This is another error");
         $expected = sprintf('{"type":"DEBUG","message":"This is a message","timestamp":%s}' . PHP_EOL . '{"type":"ERROR","message":"This is an error","timestamp":%s}' . PHP_EOL . '{"type":"ERROR","message":"This is another error","timestamp":%s}' . PHP_EOL, time(), time(), time());
         $I->amInPath($this->logPath);
         $I->openFile($file1);
         $I->seeFileContentsEqual($expected);
         $I->deleteFile($file1);
         $I->openFile($file2);
         $I->seeFileContentsEqual($expected);
         $I->deleteFile($file2);
     });
 }
Esempio n. 4
0
            $compileAlways = false;
            break;
        case DEV_ENV:
            $compileAlways = true;
            break;
    }
    $gettext = new Gettext();
    $gettext->setOptions(['compileAlways' => $compileAlways, 'locale' => $locale->getBestLocale(), 'supported' => $locale->getSupportedLocales(), 'domains' => $config->locale->domains, 'localeDir' => $config->path->localeDir, 'localeCacheDir' => $config->path->localeCacheDir]);
    return $gettext;
});
/**
 *
 */
$di->setShared('debug', function () use($di) {
    $config = $di->getConfig();
    $logger = new MultipleStreamLogger();
    switch (ENV) {
        case DEV_ENV:
            $logger->push(new ErrorLogger());
            if ('cli' != php_sapi_name()) {
                $debugLogFile = str_replace('{{name}}', $config->site->domains[0], $config->dev->path->debugLog);
                $fileLogger = new FileLogger($debugLogFile);
                $fileLogger->getFormatter()->setFormat('%message%');
                $logger->push($fileLogger);
                $logger->push(new Firelogger());
                $logger->push(new FirephpLogger(''));
            }
            break;
    }
    return $logger;
});
Esempio n. 5
0
<?php

use Phalcon\Logger, Phalcon\Logger\Multiple as MultipleStream, Phalcon\Logger\Adapter\File as FileAdapter, Phalcon\Logger\Adapter\Stream as StreamAdapter;
$logger = new MultipleStream();
$logger->push(new FileAdapter('test.log'));
$logger->push(new StreamAdapter('php://stdout'));
$logger->log("This is a message");
$logger->log("This is an error", Logger::ERROR);
$logger->error("This is another error");
Esempio n. 6
0
use PhalconX\Mvc\View\VoltExtension;
use AdminGen\Mvc\ViewHelper;
use PhalconX\Validator;
use PhalconX\Util\Reflection;
use PhalconX\Util\ObjectMapper;
use Phalcon\Mvc\Model\Metadata\Apc as MetadataApc;
use PhalconX\Mvc\Metadata\Memory as MetadataMemory;
use PhalconX\Annotations;
$di = new FactoryDefault();
$di['config'] = $config;
$di['registry'] = new Config();
$di['loader'] = $loader;
$di['logger'] = function () use($config) {
    $isCli = PHP_SAPI == 'cli';
    $prefix = $config->application->logsDir . ($isCli ? 'cli-' : '');
    $logger = new MultipleStream();
    $appender = new FileAppender($prefix . 'error.log');
    $appender->setLogLevel(Logger::ERROR);
    $logger->push($appender);
    $appender = new FileAppender($prefix . 'default.log');
    $appender->setLogLevel(Logger::INFO);
    $logger->push($appender);
    if ($isCli) {
        $appender = new ConsoleAppender('php://stderr');
        $formatter = new LineFormatter("%date% [%type%] %message%\n");
        $appender->setFormatter($formatter);
        $appender->setLogLevel(Logger::ERROR);
        $logger->push($appender);
    }
    return $logger;
};
Esempio n. 7
0
 public function exception(\Exception $exp)
 {
     $message = sprintf("%s\n%s(%d)\n%s", $exp->getMessage(), $exp->getFile(), $exp->getLine(), $exp->getTraceAsString());
     $this->logger->exception($message);
 }
Esempio n. 8
0
 public function alert($message, array $context = null)
 {
     parent::alert($message, $context);
 }