コード例 #1
0
 /**
  * Metoda inicializira crpalka service(cs) predno se začne cs uporabljat
  * 
  * @param ServiceLocatorInterface $serviceLocator
  * @return \Crpalka\Service\CrpalkaService
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     //pridobitev configuracije
     $options = $serviceLocator->get('Config');
     //parsanje potrebnih podatkov
     $poti = $options['crpalka']['pravila']['pot'];
     $owningSide = $options['crpalka']['pravila']['owningside'];
     $NeOwningSide = $options['crpalka']['pravila']['neowningside'];
     $ident = $options['crpalka']['pravila']['ident'];
     $service = new CrpalkaService();
     //inicializacija propertijev
     $service->setEmIzvor($serviceLocator->get("doctrine.entitymanager.orm_default"));
     $service->setEmCilj($serviceLocator->get("doctrine.entitymanager.orm_dest"));
     $service->setEntityMetadataFactory($serviceLocator->get("entity.metadata.factory"));
     $service->setPoljeEntitet(new ArrayCollection());
     $service->setPoljePravil(new ArrayCollection($poti));
     $service->setPoljeOwningSide(new ArrayCollection($owningSide));
     $service->setPoljeNeOwningSide(new ArrayCollection($NeOwningSide));
     $service->setPoljeIdent(new ArrayCollection($ident));
     //deklaracija in inicializacija loggerja
     $logger = new Logger();
     $log = __DIR__ . '/../../../../../data/crpalka.log';
     $writer = new Writer\Stream($log);
     $logger->addWriter($writer);
     $logger->registerErrorHandler($logger);
     $service->setLogger($logger);
     return $service;
 }
コード例 #2
0
ファイル: LdapInterface.php プロジェクト: ancgate/Zf2LdapAuth
 public function __construct($config)
 {
     $this->config = $config;
     if (isset($this->config['log_dir'])) {
         if (!is_dir($this->config['log_dir'])) {
             try {
                 mkdir($this->config['log_dir']);
             } catch (Exception $exc) {
                 echo "<h1>Could not create log directory " . $this->config['log_dir'] . "</h1>";
                 echo $exc->getMessage();
             }
         }
     } else {
         $this->config['log_dir'] = "/tmp/ldap";
         if (!is_dir($this->config['log_dir'])) {
             try {
                 mkdir($this->config['log_dir']);
             } catch (Exception $exc) {
                 echo "<h1>Could not create log directory " . $this->config['log_dir'] . "</h1>";
                 echo $exc->getMessage();
             }
         }
     }
     $logger = new Logger();
     $writer = new LogWriter($config['log_dir'] . '/ldap.log');
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     $this->logger = $logger;
     $this->logger->log(Logger::INFO, 'Starting LDAP Bind');
     $this->bind();
 }
コード例 #3
0
ファイル: LogFactory.php プロジェクト: Theodia/theodia.org
 /**
  * @param \Zend\ServiceManager\ServiceLocatorInterface $sl
  * @return \Zend\Log\Logger
  */
 public function createService(ServiceLocatorInterface $sl)
 {
     if (!$this->logger) {
         // Log to file
         $this->logger = new \Zend\Log\Logger();
         $writer = new \Zend\Log\Writer\Stream('logs/all.log');
         $this->logger->addWriter($writer);
         \Zend\Log\Logger::registerErrorHandler($this->logger, true);
     }
     return $this->logger;
 }
コード例 #4
0
ファイル: Factory.php プロジェクト: pkamps/basexms
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $l = new Logger();
     // Let modules add a log writer
     if ($serviceLocator->has('ModuleManager')) {
         $serviceLocator->get('ModuleManager')->getEventManager()->trigger('AddLogWriter', $this, $l);
     }
     if ($l->getWriters()->isEmpty()) {
         $l->addWriter(new Null());
     }
     \Zend\Log\Logger::registerErrorHandler($l);
     return $l;
 }
コード例 #5
0
 protected function initServices(ServiceManager $sm)
 {
     // Initialize log service
     $logger = new Logger();
     $writer = new StreamLogWriter(__DIR__ . '/../../data/log/template.log');
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     $sm->setService('log', $logger);
     // Initialize authentication service
     $mongodb = $sm->get('mongodb');
     $authAdapter = new AuthAdapter($mongodb->users);
     $auth = new AuthenticationService();
     $auth->setAdapter($authAdapter);
     $sm->setService('auth', $auth);
 }
コード例 #6
0
ファイル: Module.php プロジェクト: jonathan1212/zf2
 public function loggingError()
 {
     $logger = new Logger();
     $logDir = dirname(dirname(__DIR__)) . '/log/error/' . date('Y-m-d');
     $writer = new Stream($logDir);
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     Logger::registerExceptionHandler($logger);
     register_shutdown_function(function () use($logger) {
         $e = error_get_last();
         if ($e) {
             $logger->err(print_r($e, 1));
         }
     });
 }
コード例 #7
0
ファイル: Module.php プロジェクト: savez/zf-operation-log
 public function onBootstrap(MvcEvent $e)
 {
     $events = StaticEventManager::getInstance();
     $serviceManager = $e->getApplication()->getServiceManager();
     $appConfig = $serviceManager->get('Config');
     $logger = new Logger();
     if (!isset($appConfig['operation_logger'])) {
         throw new \RuntimeException("Logger not properly configured");
     }
     if (!isset($appConfig['operation_logger']['priority_filter'])) {
         throw new \RuntimeException("You must specify a 'priority_filter' config param");
     }
     $logFilter = new PriorityFilter($appConfig['operation_logger']['priority_filter']);
     if (!is_null($appConfig['operation_logger']['db_adapter'])) {
         if (empty($appConfig['operation_logger']['logger_table'])) {
             throw new \RuntimeException("You must specify a 'logger_table' config param");
         }
         $dbAdapter = $serviceManager->get($appConfig['operation_logger']['db_adapter']);
         if (!$dbAdapter instanceof \Zend\Db\Adapter\Adapter) {
             throw new \RuntimeException("Failed to load database adapter for logger");
         }
         $tableMapping = array('timestamp' => 'event_date', 'priorityName' => 'priority', 'message' => 'event', 'extra' => array('id_operation_log' => 'id_operation_log', 'note' => 'note', 'table' => 'table_name', 'id_user' => 'id_user', 'username' => 'username', 'id_row' => 'id_row', 'field' => 'field', 'value_old' => 'value_old', 'value_new' => 'value_new', 'source' => 'source', 'uri' => 'uri', 'ip' => 'ip', 'session_id' => 'session_id'));
         $logWriter = new DbWriter($dbAdapter, $appConfig['operation_logger']['logger_table'], $tableMapping);
         $logWriter->addFilter($logFilter);
         $logger->addWriter($logWriter);
     }
     // nel caso si volgia fare un file LOG
     if (isset($appConfig['operation_logger']['log_file']) && !is_null($appConfig['operation_logger']['log_file'])) {
         $streamWriter = new StreamWriter($appConfig['operation_logger']['log_file']);
         $streamWriter->addFilter($logFilter);
         $logger->addWriter($streamWriter);
     }
     $request = $e->getApplication()->getRequest();
     $remoteAddress = new RemoteAddress();
     Logger::registerErrorHandler($logger, true);
     Logger::registerExceptionHandler($logger);
     // Attacco evento per trigger LOG! (evento: operation-log)
     $events->attach("*", 'operation-log', function (\Zend\EventManager\Event $e) use($logger, $request, $remoteAddress, $serviceManager) {
         $targetClass = get_class($e->getTarget());
         $message = $e->getParam('message');
         $priority = $e->getParam('priority', Logger::INFO);
         $zfcAuthEvents = $serviceManager->get('zfcuser_auth_service');
         $idUser = $zfcAuthEvents->hasIdentity() ? $zfcAuthEvents->getIdentity()->getId() : (array_key_exists('id_user', $message) ? $message['id_user'] : '******');
         $displayName = $zfcAuthEvents->hasIdentity() ? $zfcAuthEvents->getIdentity()->getDisplayName() : (array_key_exists('username', $message) ? $message['username'] : '******');
         $extras = array('id_operation_log' => null, 'note' => array_key_exists('note', $message) ? $message['note'] : null, 'table_name' => array_key_exists('table', $message) ? $message['table'] : null, 'operation' => array_key_exists('operation', $message) ? $message['operation'] : null, 'id_user' => $idUser, 'username' => $displayName, 'id_row' => array_key_exists('id_row', $message) ? $message['id_row'] : null, 'field' => array_key_exists('field', $message) ? $message['field'] : null, 'value_old' => array_key_exists('value_old', $message) ? $message['value_old'] : null, 'value_new' => array_key_exists('value_new', $message) ? $message['value_new'] : null, 'source' => $targetClass, 'uri' => $request->getUriString(), 'ip' => $remoteAddress->getIpAddress(), 'session_id' => session_id());
         $logger->log($priority, $message['message'], $extras);
     });
 }
コード例 #8
0
 /**
  *
  * @param type $msg
  * @param type $log_level EMERG=0, ALERT=1, CRIT=2, ERR=3, WARN=4, NOTICE=5, INFO=6, DEBUG=7
  */
 public function log($msg, $priority = 5)
 {
     $log_dir = "data/logs";
     if (!is_dir($log_dir)) {
         try {
             mkdir($log_dir);
         } catch (Exception $exc) {
             echo "<h1>Could not create log directory " . $log_dir . "</h1>";
             echo $exc->getMessage();
         }
     }
     $logger = new Logger();
     $writer = new LogWriter($log_dir . '/ldap.log');
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     $logger->log($priority, $msg);
 }
コード例 #9
0
ファイル: Module.php プロジェクト: coogle/logger
 public function onBootstrap(MvcEvent $e)
 {
     $events = StaticEventManager::getInstance();
     $serviceManager = $e->getApplication()->getServiceManager();
     $appConfig = $serviceManager->get('Config');
     $logger = new Logger();
     if (!isset($appConfig['logger'])) {
         throw new \RuntimeException("Logger not properly configured");
     }
     if (!isset($appConfig['logger']['priority_filter'])) {
         throw new \RuntimeException("You must specify a 'priority_filter' config param");
     }
     $logFilter = new PriorityFilter($appConfig['logger']['priority_filter']);
     if (!is_null($appConfig['logger']['db_adapter'])) {
         if (empty($appConfig['logger']['logger_table'])) {
             throw new \RuntimeException("You must specify a 'logger_table' config param");
         }
         $dbAdapter = $serviceManager->get($appConfig['logger']['db_adapter']);
         if (!$dbAdapter instanceof \Zend\Db\Adapter\Adapter) {
             throw new \RuntimeException("Failed to load database adapter for logger");
         }
         $tableMapping = array('timestamp' => 'event_date', 'priorityName' => 'priority', 'message' => 'event', 'extra' => array('source' => 'source', 'uri' => 'uri', 'ip' => 'ip', 'session_id' => 'session_id'));
         $logWriter = new DbWriter($dbAdapter, $appConfig['logger']['logger_table'], $tableMapping);
         $logWriter->addFilter($logFilter);
         $logger->addWriter($logWriter);
     }
     if (isset($appConfig['logger']['log_file']) && !is_null($appConfig['logger']['log_file'])) {
         $streamWriter = new StreamWriter($appConfig['logger']['log_file']);
         $streamWriter->addFilter($logFilter);
         $logger->addWriter($streamWriter);
     }
     $request = $e->getApplication()->getRequest();
     $remoteAddress = new RemoteAddress();
     Logger::registerErrorHandler($logger, true);
     Logger::registerExceptionHandler($logger);
     $events->attach("*", 'log', function (\Zend\EventManager\Event $e) use($logger, $request, $remoteAddress) {
         $targetClass = get_class($e->getTarget());
         $message = $e->getParam('message', "[No Message Provided]");
         $priority = $e->getParam('priority', Logger::INFO);
         $extras = array('source' => $targetClass, 'uri' => $request->getUriString(), 'ip' => $remoteAddress->getIpAddress(), 'session_id' => session_id());
         $logger->log($priority, $message, $extras);
     });
 }
コード例 #10
0
ファイル: Module.php プロジェクト: onjanirina/kandra
 public function onBootstrap(MvcEvent $e)
 {
     $application = $e->getApplication();
     $eventManager = $application->getEventManager();
     $serviceManager = $application->getServiceManager();
     // ModuleRouteListener
     $moduleRouteListener = new ModuleRouteListener();
     $moduleRouteListener->attach($eventManager);
     // LOGGER
     $writer = new \Zend\Log\Writer\Stream('php://stderr');
     $logger = new Logger();
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     Logger::registerExceptionHandler($logger);
     $serviceManager->setService('logger', $logger);
     $logger->debug(__CLASS__ . ':' . __LINE__ . ': Registered Logger Service.');
     // DB
     $db = new DBAdapter(array('driver' => 'Pdo_Mysql', 'host' => '127.0.0.1', 'username' => 'root', 'password' => '', 'database' => 'kandra_test'));
     $serviceManager->setService('db', $db);
     $logger->debug(__CLASS__ . ':' . __LINE__ . ': Registered Database Service.');
 }
コード例 #11
0
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     $config = $serviceLocator->get('Config');
     $config = isset($config['log']['ErrorLogger']['config']) ? $config['log']['ErrorLogger']['config'] : array();
     if (!isset($config['stream'])) {
         throw new \RuntimeException('A stream must be configured for ErrorLogger.');
     }
     $formatter = new ErrorAndExceptionHandler(array('dateTimeFormat' => 'Y-m-d H:i:s'));
     $writer = new Stream($config['stream']);
     $writer->setFormatter($formatter);
     $logger = new Logger();
     if (!isset($config['log_errors']) || !$config['log_errors']) {
         $writer->addFilter(new ErrorType(ErrorType::TYPE_EXCEPTION));
     } else {
         Logger::registerErrorHandler($logger);
     }
     if (!isset($config['log_exceptions']) || !$config['log_exceptions']) {
         $writer->addFilter(new ErrorType(ErrorType::TYPE_ERROR));
     } else {
         Logger::registerExceptionHandler($logger);
     }
     $logger->addWriter($writer);
     return $logger;
 }
コード例 #12
0
ファイル: LoggerTest.php プロジェクト: navassouza/zf2
 public function testRegisterErrorHandler()
 {
     $writer = new MockWriter();
     $this->logger->addWriter($writer);
     $this->assertTrue(Logger::registerErrorHandler($this->logger));
     // check for single error handler instance
     $this->assertFalse(Logger::registerErrorHandler($this->logger));
     // generate a warning
     echo $test;
     Logger::unregisterErrorHandler();
     $this->assertEquals($writer->events[0]['message'], 'Undefined variable: test');
 }
コード例 #13
0
ファイル: Module.php プロジェクト: jonathan1212/zf2
 public function loggingError()
 {
     $logger = new Logger();
     $writer = new Stream(LOG_DIR . "/error/" . date('Y-m-d'));
     $logger->addWriter($writer);
     Logger::registerErrorHandler($logger);
     Logger::registerExceptionHandler($logger);
     register_shutdown_function(function () use($logger) {
         $e = error_get_last();
         if ($e) {
             $logger->err(print_r($e, 1));
         }
     });
 }
コード例 #14
0
ファイル: ErrorLogger.php プロジェクト: samsonasik/LosLog
 /**
  * Registers the handlers for errors and exceptions.
  *
  * @param string $logFile
  * @param string $logDir
  */
 public static function registerHandlers($logFile = 'error.log', $logDir = 'data/logs', $continue = true)
 {
     $logger = AbstractLogger::generateFileLogger($logFile, $logDir);
     Logger::registerErrorHandler($logger->getLogger(), $continue);
     Logger::registerFatalErrorShutdownFunction($logger->getLogger());
 }
コード例 #15
0
ファイル: LoggerTest.php プロジェクト: heiglandreas/zf2
 /**
  * @group ZF-9192
  */
 public function testUsingWithErrorHandler()
 {
     $writer = new Log\Writer\Mock();
     $logger = new Logger();
     $logger->addWriter($writer);
     $this->errWriter = $writer;
     $oldErrorLevel = error_reporting();
     $this->expectingLogging = true;
     error_reporting(E_ALL | E_STRICT);
     $oldHandler = set_error_handler(array($this, 'verifyHandlerData'));
     $logger->registerErrorHandler();
     trigger_error("Testing notice shows up in logs", E_USER_NOTICE);
     trigger_error("Testing warning shows up in logs", E_USER_WARNING);
     trigger_error("Testing error shows up in logs", E_USER_ERROR);
     $this->expectingLogging = false;
     error_reporting(0);
     trigger_error("Testing notice misses logs", E_USER_NOTICE);
     trigger_error("Testing warning misses logs", E_USER_WARNING);
     trigger_error("Testing error misses logs", E_USER_ERROR);
     restore_error_handler();
     // Pop off the Logger
     restore_error_handler();
     // Pop off the verifyHandlerData
     error_reporting($oldErrorLevel);
     // Restore original reporting level
     unset($this->errWriter);
 }