Exemplo n.º 1
0
 /**
  * Setup db
  *
  */
 public function setup(Zend_Config $config)
 {
     // Get resource config
     $writerConfig = $config->writer;
     $filterConfig = $config->filter;
     // Log instance
     $log = new Zend_Log();
     // Enable database writer?
     if ($writerConfig->database->enabled) {
         $db = $this->getRegistry()->get($writerConfig->database->key, 'Zend_Db_Adapter_Abstract');
         // Make sure it's a right object
         if (!$db instanceof Zend_Db_Adapter_Abstract) {
             require_once 'Zym/App/Resource/Exception.php';
             throw new Zym_App_Resource_Exception('Resource ' . get_class($this) . ' requires the internal registry item "db" to contain a Zend_Db_Adapter_Abstract object');
         }
         $dbWriter = new Zend_Log_Writer_Db($db, $writerConfig->database->table);
         $log->addWriter($dbWriter);
     }
     // Enable stream writer?
     if ($writerConfig->stream->enabled) {
         $streamWriter = new Zend_Log_Writer_Stream($writerConfig->stream->stream, $writerConfig->stream->mode);
         $streamWriter->setFormatter(new Zend_Log_Formatter_Simple('%timestamp% %ipAddr% %priorityName% (%priority%): %message%' . PHP_EOL));
         $log->addWriter($streamWriter);
     }
     // Enable null writer
     $log->addWriter(new Zend_Log_Writer_Null());
     // Setup filters
     // Priority filter
     if ($filterConfig->priority->enabled) {
         $log->addFilter(new Zend_Log_Filter_Priority((int) $filterConfig->priority->level));
     }
     // Setup events
     // Log user ip address
     //$log->setEventItem('ipAddr', $_SERVER['REMOTE_ADDR']);
 }
Exemplo n.º 2
0
	function addWriteToScreen()
	{
		parent::addWriteToScreen();
		$writerScreen = new Zend_Log_Writer_Stream('php://stderr');
		$writerScreen->setFormatter( $this->screenFormatter );
		$this->addWriter($writerScreen);
	}
Exemplo n.º 3
0
 public function preDispatch($request)
 {
     try {
         $locale = new Zend_Locale();
         $locale->setDefault('en');
         $locale->setLocale(Zend_Locale::BROWSER);
         $requestedLanguage = key($locale->getBrowser());
         $formatter = new Zend_Log_Formatter_Simple('%message%' . PHP_EOL);
         $writer = new Zend_Log_Writer_Stream(APPLICATION_LOG_PATH . 'translations.log');
         $writer->setFormatter($formatter);
         $logger = new Zend_Log($writer);
         $frontendOptions = array('cache_id_prefix' => 'translation', 'lifetime' => 86400, 'automatic_serialization' => true);
         $backendOptions = array('cache_dir' => APPLICATION_CACHE_PATH);
         $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);
         $options = array('adapter' => 'gettext', 'scan' => Zend_Translate::LOCALE_FILENAME, 'content' => APPLICATION_PATH . '/languages/en/en.mo', 'locale' => 'auto', 'disableNotices' => true);
         $translate = new Zend_Translate($options);
         if (!$translate->isAvailable($locale->getLanguage())) {
             $locale->setLocale('en');
         } else {
             $translate->setLocale($locale);
         }
         $translate->setCache($cache);
         Zend_Registry::set('locale', $locale->getLanguage());
         Zend_Registry::set('Zend_Translate', $translate);
     } catch (Exception $e) {
         try {
             $writer = new Zend_Log_Writer_Stream(APPLICATION_LOG_PATH . 'plugin-locale.log');
             $logger = new Zend_Log($writer);
             $logger->log($e->getMessage(), Zend_Log::ERR);
         } catch (Exception $e) {
         }
     }
 }
Exemplo n.º 4
0
 private function log()
 {
     $dir = APP_PATH . '/logs/request';
     if (!is_dir($dir)) {
         mkdir($dir, 0755);
     }
     $file = $dir . '/' . date('Y-m-d') . '.log';
     $logger = new \Zend_Log();
     $formatter = new \Zend_Log_Formatter_Simple("%message%\n");
     $writer = new \Zend_Log_Writer_Stream($file);
     $writer->setFormatter($formatter);
     $logger->addWriter($writer);
     $data = array();
     $data[] = '[' . date('Y-m-d H:i:s') . '] ';
     $url = Http::getUrl('current');
     $url = substr($url, 0, strpos($url, '?')) . '?' . http_build_query($this->getRequest()->getRequest());
     $data[] = $url;
     $line = implode('', $data);
     $debug = Application::app()->getConfig()->debug;
     if ($debug) {
         $res = $this->getResponse()->getBody('api');
         $line .= "\n\t" . $res;
     }
     $logger->log($line, $logger::NOTICE);
 }
Exemplo n.º 5
0
 public static function initDefault($logFilePath)
 {
     $writer = new Zend_Log_Writer_Stream($logFilePath);
     $format = '[%timestamp%] [%priorityName% %priority%] %message%' . PHP_EOL;
     $formatter = new Zend_Log_Formatter_Simple($format);
     $writer->setFormatter($formatter);
     Logger::registerLogger('default', $writer, null, true);
 }
Exemplo n.º 6
0
 /**
  * Add a stream writer
  * 
  * @param array $params
  * @param object $formatter
  * @return void 
  */
 public function addStreamWriter($params = array(), Zend_Log_Formatter_Interface $formatter = null)
 {
     $writer = new Zend_Log_Writer_Stream($params['file_path_url'], $params['mode']);
     if ($formatter) {
         $writer->setFormatter($formatter);
     }
     $this->addWriter($writer);
 }
Exemplo n.º 7
0
 /**
  * Initialise the logger with the given file.
  */
 private function initLogger($logfileName)
 {
     $logfile = @fopen($logfileName, 'a', false);
     $writer = new Zend_Log_Writer_Stream($logfile);
     $formatter = new Zend_Log_Formatter_Simple('%priorityName%: %message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $this->logger = new Zend_Log($writer);
 }
Exemplo n.º 8
0
 private static function getWriter(Zend_Config $config)
 {
     if ($config->name === null) {
         return null;
     }
     $writer = null;
     switch ($config->name) {
         case "Zend_Log_Writer_Stream":
             if ($config->stream === null) {
                 return null;
             }
             if ($config->mode === null) {
                 $mode = 'a';
             }
             $writer = new Zend_Log_Writer_Stream($config->stream, $mode);
             break;
     }
     if ($writer !== null && $config->formatters !== null) {
         foreach ($config->formatters as $formatterConfig) {
             $formatter = self::getFormatter($formatterConfig);
             if ($formatter !== null) {
                 $writer->setFormatter($formatter);
             }
         }
     }
     if ($writer !== null && $config->formatters !== null) {
         foreach ($config->formatters as $formatterConfig) {
             $formatter = self::getFormatter($formatterConfig);
             if ($formatter !== null) {
                 $writer->setFormatter($formatter);
             }
         }
     }
     if ($writer !== null && $config->filters !== null) {
         foreach ($config->filters as $filterConfig) {
             $formatter = self::getFilter($filterConfig);
             if ($formatter !== null) {
                 $writer->addFilter($formatter);
             }
         }
     }
     return $writer;
 }
Exemplo n.º 9
0
 /**
  * set logger
  * @return void
  */
 protected function _initLog()
 {
     // Error log
     $writer = new Zend_Log_Writer_Stream($this->_config->logpath);
     $format = '%timestamp% %priorityName% (%priority%): ' . '[%module%] [%controller%] %message%' . PHP_EOL;
     $formatter = new Zend_Log_Formatter_Simple($format);
     $writer->setFormatter($formatter);
     $logger = new Zend_Log($writer);
     Zend_Registry::getInstance()->set('logger', $logger);
 }
Exemplo n.º 10
0
 /**
  * Writer untuk log message yang lainnya
  * Log message yang lainnya akan dituliskan ke dalam file system.log
  */
 protected function _allWriter()
 {
     $log = ROOT_DIR . '/data/log/system.log';
     $stream = fopen($log, 'a', false);
     if (!$stream) {
         throw new Exception('Failed to open _writer stream');
     }
     $writer = new Zend_Log_Writer_Stream($stream);
     $writer->setFormatter($this->_formatter);
     return $writer;
 }
Exemplo n.º 11
0
 private function saveCdrBanners($datos, $id, $name)
 {
     $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../logs/cdr/' . $name . ".banners");
     // $writer = new Zend_Log_Writer_Stream('/var/log/portalwap/'.$name.".banners");
     $formatter = new Zend_Log_Formatter_Simple('%message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $log = new Zend_Log($writer);
     $banners = 'banner1.' . $datos['url'][0] . "," . 'banner2.' . $datos['url'][1] . "," . 'banner3.' . $datos['url'][2] . "," . 'banner4.' . $datos['url'][3] . "," . 'banner5.' . $datos['url'][4];
     $mensaje = $datos['fecha'] . "," . $datos['hora'] . "," . $_SERVER['REMOTE_ADDR'] . "," . $datos['telefono'] . ",perfil:" . $datos['perfil'] . "," . $banners;
     $log->info($mensaje);
 }
Exemplo n.º 12
0
 protected function saveLog($errors)
 {
     $logger = new Zend_Log();
     $writer = new Zend_Log_Writer_Stream('application/tmp/erro/error.xml');
     $formatter = new Zend_Log_Formatter_Xml();
     $writer->setFormatter($formatter);
     $logger->addWriter($writer);
     $exception = $errors->exception;
     $exception->getTraceAsString();
     $logger->debug($exception->getMessage() . "\r\n");
 }
Exemplo n.º 13
0
 public function saveCdrLog($url, $message, $portal)
 {
     $datos = $this->obtenerPerfilNumero();
     $name = date('YmdH');
     $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../data/cdr/' . $portal . '/' . $name . ".log");
     $formatter = new Zend_Log_Formatter_Simple('%message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $log = new Zend_Log($writer);
     $mensaje = $datos['fecha'] . "," . $datos['hora'] . "," . 'PERFIL:' . $datos['perfil'] . "," . $url . "," . $message . "," . $datos['telefono'];
     $log->info($mensaje);
 }
 public function saveCdrDedicatorias($resultado)
 {
     $name = date('YmdH');
     $datos = $this->registerCdr();
     $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../logs/cdr/' . $name . ".dedicatoria");
     $formatter = new Zend_Log_Formatter_Simple('%message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $log = new Zend_Log($writer);
     $mensaje = $datos['fecha'] . "," . $datos['hora'] . "," . $_SERVER['REMOTE_ADDR'] . "," . $datos['telefono'] . "," . 'perfil:' . $datos['perfil'] . "," . $resultado;
     $log->info($mensaje);
 }
Exemplo n.º 15
0
 /**
  * Initialize the logger. You may want to override the function
  *
  * @return void
  */
 protected function _setupLog()
 {
     $this->logger = new Streamwide_Log();
     $this->logger->setEventItem("class", get_class($this));
     $writer = new Zend_Log_Writer_Stream("php://output");
     $format = "SW | %class% | %timestamp% | %pid% | %memory% | %duration% | %priorityName%: %message%<br/>" . PHP_EOL;
     $formater = new Zend_Log_Formatter_Simple($format);
     $writer->setFormatter($formater);
     //$writer->addFilter(new Streamwide_Log_Filter_Priority(LOGGER_INFO));
     $this->logger->addWriter($writer);
 }
Exemplo n.º 16
0
 /**
  * Sets up the fixture, for example, opens a network connection.
  * This method is called before a test is executed.
  *
  * @access protected
  */
 protected function setUp()
 {
     if (class_exists('Zend_Log') === false) {
         $this->markTestSkipped('Class \\Zend_Log not found');
     }
     $writer = new \Zend_Log_Writer_Stream('error.log');
     $formatter = new \Zend_Log_Formatter_Simple('log: %message%' . PHP_EOL);
     $writer->setFormatter($formatter);
     $logger = new \Zend_Log($writer);
     $filter = new \Zend_Log_Filter_Priority(\Zend_Log::INFO);
     $logger->addFilter($filter);
     $this->object = new \Aimeos\MW\Logger\Zend($logger);
 }
Exemplo n.º 17
0
 /**
  * Retrieves the logger object
  *
  * @return Zend_Log
  * @throws Glitch_Application_Resource_Exception
  */
 public function getLog()
 {
     if (null === $this->_log) {
         $options = $this->getOptions();
         // Force these options to be set - don't rely on the defaults!
         if (!isset($options['level'])) {
             throw new Glitch_Application_Resource_Exception('Undefined log option: "level"');
         }
         // Validate the log level
         $level = constant('Zend_Log::' . $options['level']);
         if (null === $level) {
             throw new Glitch_Application_Resource_Exception('Unknown log level: "' . $options['level'] . '"');
         }
         // Ensure the request is initialized
         $this->_bootstrap->bootstrap('Request');
         $request = $this->_bootstrap->getResource('Request');
         $isHttpRequest = $request instanceof Zend_Controller_Request_Http;
         // Use localhost as name if not running in HTTP mode
         $host = $isHttpRequest ? $request->getHttpHost() : 'localhost';
         if (strncasecmp($host, 'www.', 4) == 0) {
             $host = substr($host, 4);
             // Remove "www." prefix for readability
         }
         $this->_log = new Zend_Log();
         // Build filename, e.g. "20090601_localhost.log"
         $file = Zend_Date::now()->toString('yyyyMMdd') . '_' . $host . '.log';
         $file = GLITCH_LOGS_PATH . DIRECTORY_SEPARATOR . $file;
         $writer = new Zend_Log_Writer_Stream($file);
         // Use custom logging format, e.g.
         // [2010-08-07T17:03:18+02:00] ERR (/account/login): Method "_getParams" does not exist
         $format = '[%timestamp%] %priorityName%';
         if ($isHttpRequest) {
             $format .= ' (%requestUri%)';
             $this->_log->setEventItem('requestUri', $request->getRequestUri());
         }
         $format .= ': %message%';
         $formatter = new Zend_Log_Formatter_Simple($format . PHP_EOL);
         $writer->setFormatter($formatter);
         $this->_log->addWriter($writer);
         // Also send log output to browser console?
         if ($isHttpRequest && (isset($options['toFirebug']) && $options['toFirebug'])) {
             $this->_log->addWriter(new Zend_Log_Writer_Firebug());
         }
         $filter = new Zend_Log_Filter_Priority($level);
         $this->_log->addFilter($filter);
         // Allow application-wide access
         Glitch_Registry::setLog($this->_log);
     }
     return $this->_log;
 }
Exemplo n.º 18
0
 protected function _initSystemLog()
 {
     $sysLogFile = Agana_Util_Log::getSystemLogPath($this);
     $fp = @fopen($sysLogFile, 'a+', false);
     if ($fp) {
         $sysLog = new Zend_Log_Writer_Stream($fp);
         $formatter = new Zend_Log_Formatter_Xml();
         $sysLog->setFormatter($formatter);
     } else {
         // TODO improve this
         die('App error log file or directory is not writable');
     }
     $systemLogger = new Zend_Log($sysLog);
     Zend_Registry::set(self::APP_ERROR_LOGGER, $systemLogger);
 }
Exemplo n.º 19
0
 private function _zendlog()
 {
     $write = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/log/log.txt');
     $format = new Zend_Log_Formatter_Simple('%message%');
     $write->setFormatter($format);
     $log = new Zend_Log($write);
     $log->info('thong bao', Zend_Log::INFO);
     $log->err('thong bao loi', Zend_Log::ERR);
     //        $write= new Zend_Log_Writer_Stream(APPLICATION_PATH.'/log/log.txt');
     //
     //        $log->info('thong bao', Zend_Log::INFO);
     //        $log->err('thong bao loi', Zend_Log::ERR);
     //
     //
     //
     //         $log = new Zend_Log($write);
 }
Exemplo n.º 20
0
 /**
  * Retrieve the singleton logger instance, creating it if necessary.
  *
  * @return Returns the logger.
  */
 public static function getLogger()
 {
     // Make sure the logger has been created.
     if (self::$logger === null) {
         // Define the logging format.
         $format = '%timestamp% %priorityName% %message%' . PHP_EOL;
         // Create the formatter.
         $formatter = new Zend_Log_Formatter_Simple($format);
         // Create the new writer for the log file.
         $writer = new Zend_Log_Writer_Stream(Bootstrap::$root . '/logs/app.log');
         // Set the writer format.
         $writer->setFormatter($formatter);
         // Create the logger.
         self::$logger = new Zend_Log($writer);
     }
     // Return the logger.
     return self::$logger;
 }
Exemplo n.º 21
0
 /**
  * Initializes the logger
  */
 protected function _initLog()
 {
     $logger = new Zend_Log();
        
     if (Zend_Registry::get('option-logOn')) {
         $writer = new Zend_Log_Writer_Stream(realpath(Zend_Registry::get('option-logDir') . '/' . Zend_Registry::get('option-logFile')));
         
         $format = '%timestamp%, %ip%, %cachehit%, %message%' . PHP_EOL;
         $formatter = new Zend_Log_Formatter_Simple($format);
       
         $writer->setFormatter($formatter);
     } else {
         $writer = new Zend_Log_Writer_Null;
     }
     
     $logger->addWriter($writer);
     
     Zend_Registry::set('logger', $logger);
 }
Exemplo n.º 22
0
 private function createWriter($logfilePath = null)
 {
     $GLOBALS['id_string'] = uniqid();
     // Write ID string to global variables, so we can identify/match individual runs.
     $format = '%timestamp% %priorityName% (%priority%, ID ' . $GLOBALS['id_string'] . '): %message%' . PHP_EOL;
     $formatter = new Zend_Log_Formatter_Simple($format);
     if (is_null($logfilePath)) {
         $writer = new Zend_Log_Writer_Stream('php://output');
     } else {
         $logfile = @fopen($logfilePath, 'a', false);
         if ($logfile === false) {
             // TODO use Opus exception
             throw new Exception('Failed to open logging file:' . $logfilePath);
         }
         $writer = new Zend_Log_Writer_Stream($logfile);
     }
     $writer->setFormatter($formatter);
     return $writer;
 }
Exemplo n.º 23
0
 /**
  * Load language file for ACL Module
  *
  * @see Zend_Controller_Plugin_Abstract::routeShutdown()
  */
 public function routeShutdown(Zend_Controller_Request_Abstract $request)
 {
     /* @var $translate Zend_Translate */
     $translate = Zend_Registry::get("Zend_Translate");
     $locale = Zend_Registry::get('locale');
     $formatter = new Zend_Log_Formatter_Simple('%message%' . PHP_EOL);
     $writer = new Zend_Log_Writer_Stream(APPLICATION_PATH . '/data/log/translations.log');
     $writer->setFormatter($formatter);
     $logger = new Zend_Log($writer);
     $options = array('clear' => false, 'scan' => Zend_Translate::LOCALE_DIRECTORY, 'disableNotices' => true, 'log' => $logger, 'logMessage' => '%locale%;%message%', 'logUntranslated' => true);
     $translateModule = new Zend_Translate('csv', APPLICATION_PATH . "/modules/acl/languages/", 'auto', $options);
     $translate->getAdapter()->addTranslation($translateModule);
     /*$translate->getAdapter()->addTranslation(
               APPLICATION_PATH . "/modules/acl/languages/en.csv", "en", 
               $options);
       ;
       $translate->getAdapter()->addTranslation(
               APPLICATION_PATH . "/modules/acl/languages/es.csv", "es", 
               $options);*/
     $translate->setLocale($locale);
 }
Exemplo n.º 24
0
 /**
  * Setup the logging
  */
 protected function _initLogging()
 {
     $this->bootstrap('frontController');
     $this->bootstrap('config');
     $logger = new Zend_Log();
     //        $writer = 'production' == $this->getEnvironment() ?
     //			new Zend_Log_Writer_Stream(APPLICATION_PATH . '/../data/logs/app.log') :
     //			new Zend_Log_Writer_Firebug();
     //        $logger->addWriter($writer);
     $config = $this->getResource('config');
     $writer = new Zend_Log_Writer_Stream($config["log"]["file"]);
     $writer->setFormatter(new Reg2_Log_Formatter($config["log"]["format"]));
     $logger->addWriter($writer);
     if ('production' == $this->getEnvironment()) {
         $filter = new Zend_Log_Filter_Priority(Zend_Log::INFO);
         $logger->addFilter($filter);
     }
     $this->_logger = $logger;
     Zend_Registry::set('log', $logger);
     $logger->debug("Start logging");
     return $logger;
 }
Exemplo n.º 25
0
Arquivo: Agi.php Projeto: rootzig/SNEP
 private function startLogger()
 {
     $log = Zend_Registry::get('log');
     $asterisk = Zend_Registry::get('asterisk');
     $request = $asterisk->request;
     // Log em arquivo
     $writer = new Zend_Log_Writer_Stream($this->config->system->path->log . '/agi.log');
     $format = "%timestamp% - {$request['agi_callerid']}- -> {$request['agi_extension']} %priorityName% (%priority%):%message%";
     $formatter = new Zend_Log_Formatter_Simple($format . PHP_EOL);
     $writer->setFormatter($formatter);
     $log->addWriter($writer);
     // Log no console do Asterisk
     $console_writer = new PBX_Asterisk_Log_Writer($asterisk);
     $format = "{$asterisk->request['agi_callerid']} -> {$asterisk->request['agi_extension']} %priorityName% (%priority%):%message%";
     $console_formatter = new Zend_Log_Formatter_Simple($format . PHP_EOL);
     $console_writer->setFormatter($console_formatter);
     $log->addWriter($console_writer);
     if (!$this->config->system->debug) {
         $writer->addFilter(new Zend_Log_Filter_Priority(Zend_Log::NOTICE));
         $console_writer->addFilter(new Zend_Log_Filter_Priority(Zend_Log::INFO));
     }
 }
 /**
  * test pw replacements
  */
 public function testPWReplacements()
 {
     $config = Tinebase_Core::getConfig();
     $logfile = tempnam(Tinebase_Core::getTempDir(), 'testlog');
     $writer = new Zend_Log_Writer_Stream($logfile);
     $formatter = new Tinebase_Log_Formatter();
     $formatter->addReplacement($config->database->password);
     $writer->setFormatter($formatter);
     $this->_logger->addWriter($writer);
     $filter = new Zend_Log_Filter_Priority(5);
     $this->_logger->addFilter($filter);
     $this->_logger->notice($config->database->password);
     $loggerFile = file_get_contents($logfile);
     $writer->shutdown();
     unlink($logfile);
     $this->assertFalse(strpos($loggerFile, $config->database->password), 'pw found!');
     $this->assertContains('********', $loggerFile);
     if ($config->logger->logruntime || $config->logger->logdifftime) {
         $this->assertTrue(preg_match('/' . Tinebase_Core::getUser()->accountLoginName . ' \\d/', $loggerFile) === 1);
     } else {
         $this->assertContains(Tinebase_Core::getUser()->accountLoginName . ' - ', $loggerFile);
     }
 }
Exemplo n.º 27
0
 /**
  * Constructor. Sets writer and filter for log.
  */
 function __construct()
 {
     if (Daiquiri_Config::getInstance()->core->log->enabled && php_sapi_name() !== 'cli') {
         // configure formatter for log
         $ip = Daiquiri_Auth::getInstance()->getRemoteAddr();
         $username = Daiquiri_Auth::getInstance()->getCurrentUSername();
         $formatstring = '%timestamp% ' . $ip . ' "' . $username . '" %priorityName% "%message%"' . PHP_EOL;
         $formatter = new Zend_Log_Formatter_Simple($formatstring);
         // open log file and get writer for log
         $stream = @fopen(Daiquiri_Config::getInstance()->core->log->logfile, 'a', false);
         if (!$stream) {
             throw new Exception('Failed to open log file');
         }
         $writer = new Zend_Log_Writer_Stream($stream);
         $writer->setFormatter($formatter);
         // set loglevel
         $loglevel = strtoupper(Daiquiri_Config::getInstance()->core->log->loglevel);
         $filter = new Zend_Log_Filter_Priority(constant("Zend_Log::{$loglevel}"));
         // configure log object
         $this->_log = new Zend_Log();
         $this->_log->addWriter($writer);
         $this->_log->addFilter($filter);
     }
 }
Exemplo n.º 28
0
 /**
  * make new logger, configuration is taken from system_config, section $instanceName
  * @param string $instanceName
  * @param string $application
  */
 protected function __construct($instanceName, $application = null)
 {
     if ($instanceName === null) {
         throw new Exception(__METHOD__ . ': expected an instance name, got none');
     }
     $config = Config::getInstance(SYSTEM_CONFIG);
     $log_config = $config->{$instanceName};
     $this->log = new Zend_Log();
     if (isset($log_config->file) && intval($log_config->file->enabled) !== 0) {
         $file_logger = new Zend_Log_Writer_Stream($log_config->file->name);
         /**
         *
             		$format = Zend_Log_Formatter_Simple::DEFAULT_FORMAT;
             		$formatter = new Zend_Log_Formatter_Simple($format);
             		$file_logger->setFormatter($formatter);
         */
         if (isset($application) && $application != '') {
             $this->log->setEventItem('application', $application);
         }
         $formatter = new Zend_Log_Formatter_Simple('%syslog_time% %application%[%pid%]: %priorityName%: %message%' . PHP_EOL);
         $file_logger->setFormatter($formatter);
         $this->log->addWriter($file_logger);
     }
     if (isset($log_config->syslog) && intval($log_config->syslog->enabled) !== 0) {
         $param = array('facility' => $log_config->syslog->facility);
         if (isset($application) && $application != '') {
             $param['application'] = $application;
         }
         $sys_logger = new Zend_Log_Writer_Syslog($param);
         $formatter = new Zend_Log_Formatter_Simple('%priorityName%: %message%' . PHP_EOL);
         $sys_logger->setFormatter($formatter);
         $this->log->addWriter($sys_logger);
     }
     $filter = new Zend_Log_Filter_Priority(intval($log_config->priority));
     $this->log->addFilter($filter);
 }
Exemplo n.º 29
0
 $args = $shell->getOptions();
 if (empty($args)) {
     echo $shell->getUsageMessage();
     exit(0);
 }
 $config = \Magento\ToolkitFramework\Config::getInstance();
 $config->loadConfig(\Magento\ToolkitFramework\Helper\Cli::getOption('profile'));
 $config->loadLabels(__DIR__ . '/framework/labels.xml');
 $labels = $config->getLabels();
 echo 'Generating profile with following params:' . PHP_EOL;
 foreach ($labels as $configKey => $label) {
     echo ' |- ' . $label . ': ' . $config->getValue($configKey) . PHP_EOL;
 }
 $files = \Magento\ToolkitFramework\FixtureSet::getInstance()->getFixtures();
 $logWriter = new \Zend_Log_Writer_Stream('php://output');
 $logWriter->setFormatter(new \Zend_Log_Formatter_Simple('%message%' . PHP_EOL));
 $logger = new \Zend_Log($logWriter);
 $shell = new \Magento\Framework\Shell(new \Magento\Framework\Shell\CommandRenderer(), $logger);
 $application = new \Magento\ToolkitFramework\Application($applicationBaseDir, $shell);
 $application->bootstrap();
 foreach ($files as $fixture) {
     echo $fixture['action'] . '... ';
     $startTime = microtime(true);
     $application->applyFixture(__DIR__ . '/fixtures/' . $fixture['file']);
     $endTime = microtime(true);
     $resultTime = $endTime - $startTime;
     echo ' done in ' . gmdate('H:i:s', $resultTime) . PHP_EOL;
 }
 $application->reindex();
 $totalEndTime = microtime(true);
 $totalResultTime = $totalEndTime - $totalStartTime;
Exemplo n.º 30
0
/**
 * Do general setup for a CLI script
 * @param array $pa_additional_parameters Additional command line parameters. You don't have to add
 * --log/-l for the log file and --log-level/-d for the Zend_Log log level. They're always set up automatically
 * @return Zend_Console_Getopt
 */
function caSetupCLIScript($pa_additional_parameters)
{
    require_once __CA_LIB_DIR__ . "/core/Zend/Console/Getopt.php";
    require_once __CA_LIB_DIR__ . "/core/Zend/Log.php";
    require_once __CA_LIB_DIR__ . "/core/Zend/Log/Writer/Stream.php";
    require_once __CA_LIB_DIR__ . "/core/Zend/Log/Writer/Syslog.php";
    require_once __CA_LIB_DIR__ . "/core/Zend/Log/Formatter/Simple.php";
    $va_available_cli_opts = array_merge(array("log|l-s" => "Path to log file. If omitted, we log into the system log. Note that we don't log DEBUG messages into the system log, even when the log level is set to DEBUG.", "log-level|d-s" => "Log level"), $pa_additional_parameters);
    try {
        $o_opts = new Zend_Console_Getopt($va_available_cli_opts);
        $o_opts->parse();
    } catch (Exception $e) {
        die("Invalid command line options: " . $e->getMessage() . PHP_EOL);
    }
    // set up logging
    $o_writer = null;
    if ($vs_log = $o_opts->getOption('log')) {
        // log to file
        try {
            $o_writer = new Zend_Log_Writer_Stream($vs_log);
            $o_writer->setFormatter(new Zend_Log_Formatter_Simple('%timestamp% %priorityName%: %message%' . PHP_EOL));
        } catch (Zend_Log_Exception $e) {
            // error while opening the file (usually permissions)
            $o_writer = null;
            print CLIUtils::textWithColor("Couldn't open log file. Now logging via system log.", "bold_red") . PHP_EOL . PHP_EOL;
        }
    }
    // default: log everything to syslog
    if (!$o_writer) {
        $o_writer = new Zend_Log_Writer_Syslog(array('application' => 'CollectiveAccess CLI', 'facility' => LOG_USER));
        // no need for timespamps in syslog ... the syslog itsself provides that
        $o_writer->setFormatter(new Zend_Log_Formatter_Simple('%priorityName%: %message%' . PHP_EOL));
    }
    // was a loglevel set via command line? -> add filter to Zend logger, otherwise use WARN
    $vs_level = $o_opts->getOption('log-level');
    switch ($vs_level) {
        case 'ERR':
            $o_filter = new Zend_Log_Filter_Priority(Zend_Log::ERR);
            break;
        case 'DEBUG':
            $o_filter = new Zend_Log_Filter_Priority(Zend_Log::DEBUG);
            break;
        case 'INFO':
            $o_filter = new Zend_Log_Filter_Priority(Zend_Log::INFO);
            break;
        case 'WARN':
        default:
            $o_filter = new Zend_Log_Filter_Priority(Zend_Log::WARN);
            break;
    }
    // set up global logger. can be used by importing 'global $g_logger' anywhere, but it's recommended to use the caCLILog() helper instead
    global $g_logger;
    $g_logger = new Zend_Log($o_writer);
    $g_logger->setTimestampFormat('D Y-m-d H:i:s');
    $g_logger->addFilter($o_filter);
    return $o_opts;
}