Exemplo n.º 1
1
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - file:        The file path or a php wrapper to log messages
  *                You can use any support php wrapper. To write logs to the Apache error log, use php://stderr
  * - format:      The log line format (default to %time% %type% [%priority%] %message%%EOL%)
  * - time_format: The log time strftime format (default to %b %d %H:%M:%S)
  * - dir_mode:    The mode to use when creating a directory (default to 0777)
  * - file_mode:   The mode to use when creating a file (default to 0666)
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean      true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     if (!isset($options['file'])) {
         throw new sfConfigurationException('You must provide a "file" parameter for this logger.');
     }
     if (isset($options['format'])) {
         $this->format = $options['format'];
     }
     if (isset($options['time_format'])) {
         $this->timeFormat = $options['time_format'];
     }
     if (isset($options['type'])) {
         $this->type = $options['type'];
     }
     $dir = dirname($options['file']);
     if (!is_dir($dir)) {
         mkdir($dir, isset($options['dir_mode']) ? $options['dir_mode'] : 0777, true);
     }
     $fileExists = file_exists($options['file']);
     if (!is_writable($dir) || $fileExists && !is_writable($options['file'])) {
         throw new sfFileException(sprintf('Unable to open the log file "%s" for writing.', $options['file']));
     }
     $this->fp = fopen($options['file'], 'a');
     if (!$fileExists) {
         chmod($options['file'], isset($options['file_mode']) ? $options['file_mode'] : 0666);
     }
     return parent::initialize($dispatcher, $options);
 }
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     parent::initialize($dispatcher, $options);
     $ops = array_merge($this->defaults, $options);
     $this->r = new Redis($ops['host'], $ops['port']);
     $this->maxlogs = $ops['maxlogs'];
 }
Exemplo n.º 3
0
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     if (isset($options['ident'])) {
         $this->ident = $options['ident'];
     }
     openlog($this->ident, LOG_PID | LOG_PERROR, LOG_KERN);
     return parent::initialize($dispatcher, $options);
 }
Exemplo n.º 4
0
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - xdebug_logging: Whether to add xdebug trace to the logs (false by default).
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean           true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     $this->xdebugLogging = isset($options['xdebug_logging']) ? $options['xdebug_logging'] : false;
     // disable xdebug when an HTTP debug session exists (crashes Apache, see #2438)
     if (isset($_GET['XDEBUG_SESSION_START']) || isset($_COOKIE['XDEBUG_SESSION'])) {
         $this->xdebugLogging = false;
     }
     return parent::initialize($dispatcher, $options);
 }
Exemplo n.º 5
0
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - logger_service_id: The service id to use as the logger. Default: logger.psr
  * - auto_connect: If we must connect automatically to the context.load_factories to set the logger. Default: true
  *
  * @param sfEventDispatcher $dispatcher
  * @param array $options
  *
  * @return void
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     if (isset($options['logger_service_id'])) {
         $this->loggerServiceId = $options['logger_service_id'];
     }
     if (!isset($options['auto_connect']) || $options['auto_connect']) {
         $dispatcher->connect('context.load_factories', array($this, 'listenContextLoadFactoriesEvent'));
     }
     parent::initialize($dispatcher, $options);
 }
Exemplo n.º 6
0
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - loggers: Logger objects that extends sfLogger.
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean      true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     $this->dispatcher = $dispatcher;
     if (isset($options['loggers'])) {
         if (!is_array($options['loggers'])) {
             $options['loggers'] = array($options['loggers']);
         }
         $this->addLoggers($options['loggers']);
     }
     return parent::initialize($dispatcher, $options);
 }
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - stream: A PHP stream
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean      true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     if (!isset($options['stream'])) {
         throw new sfConfigurationException('You must provide a "stream" option for this logger.');
     } else {
         if (is_resource($options['stream']) && 'stream' != get_resource_type($options['stream'])) {
             throw new sfConfigurationException('The provided "stream" option is not a stream.');
         }
     }
     $this->stream = $options['stream'];
     return parent::initialize($dispatcher, $options);
 }
 /**
  * Initializes this logger.
  *
  * Available options:
  *
  * - file:        The file path or a php wrapper to log messages
  *                You can use any support php wrapper. To write logs to the Apache error log, use php://stderr
  * - format:      The log line format (default to %time% %type% [%priority%] %message%%EOL%)
  * - time_format: The log time strftime format (default to %b %d %H:%M:%S)
  * - dir_mode:    The mode to use when creating a directory (default to 0777)
  * - file_mode:   The mode to use when creating a file (default to 0666)
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean      true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     $this->host = isset($options['host']) ? $options['host'] : Mongo::DEFAULT_HOST;
     $this->port = isset($options['port']) ? $options['port'] : Mongo::DEFAULT_PORT;
     if (isset($options['type'])) {
         $this->type = $options['type'];
     }
     if (isset($options['db_name'])) {
         $this->db_name = $options['db_name'];
     }
     $this->connection = MongoDBConnection::getInstance()->getConnection();
     $this->collection = $this->connection->selectDB($this->db_name)->selectCollection(date('Y-m-d'));
     return parent::initialize($dispatcher, $options);
 }
Exemplo n.º 9
0
 /**
  * Initializes this logger.
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return Boolean      true, if initialization completes successfully, otherwise false.
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     $this->context = sfContext::getInstance();
     $this->dispatcher = $dispatcher;
     $class = isset($options['web_debug_class']) ? $options['web_debug_class'] : 'sfWebDebug';
     $this->webDebug = new $class($dispatcher);
     $dispatcher->connect('response.filter_content', array($this, 'filterResponseContent'));
     if (isset($options['xdebug_logging'])) {
         $this->xdebugLogging = $options['xdebug_logging'];
     }
     // disable xdebug when an HTTP debug session exists (crashes Apache, see #2438)
     if (isset($_GET['XDEBUG_SESSION_START']) || isset($_COOKIE['XDEBUG_SESSION'])) {
         $this->xdebugLogging = false;
     }
     return parent::initialize($dispatcher, $options);
 }
 /**
  * Initializes this logger.
  *
  * @throws sfInitializationException
  *
  * @param  sfEventDispatcher $dispatcher  A sfEventDispatcher instance
  * @param  array             $options     An array of options.
  *
  * @return bool
  */
 public function initialize(sfEventDispatcher $dispatcher, $options = array())
 {
     if (!class_exists('Mongo')) {
         throw new sfInitializationException('The MongoDB extension is not installed or enabled.');
     }
     foreach ($this->getRequiredOptions() as $eachOption) {
         if (!isset($options[$eachOption])) {
             throw new sfInitializationException(sprintf('The required option "%s" is missing.', $eachOption));
         }
     }
     $this->options = array_merge($this->getDefaultOptions(), $options);
     if ($this->options['username'] and $this->options['password']) {
         $this->handler = new Mongo(sprintf('mongodb://%s:%s@%s:%d/%s', $this->options['username'], $this->options['password'], $this->options['host'], $this->options['port'], $this->options['database']));
     } else {
         $this->handler = new Mongo(sprintf('mongodb://%s:%d', $this->options['host'], $this->options['port']));
     }
     if (!empty($this->options['create'])) {
         $this->handler->selectDB($this->options['database'])->createCollection($this->options['collection'], $this->options['create']['capped'], $this->options['create']['size'], $this->options['create']['max']);
     }
     $this->collection = $this->handler->selectCollection($this->options['database'], $this->options['collection']);
     return parent::initialize($dispatcher, $this->options);
 }