protected function execute($arguments = array(), $options = array())
 {
     $context = sfContext::createInstance(sfProjectConfiguration::getApplicationConfiguration('app', 'dev', true));
     parent::execute($arguments, $options);
     // initialize the database connection
     $databaseManager = new sfDatabaseManager($this->configuration);
     $con = $databaseManager->getDatabase($options['connection'])->getConnection();
     // add your code here
     $this->log('[INFO] Flushing old data...' . "\n");
     $eventlog_flush = EtvaSettingPeer::retrieveByPK('eventlog_flush');
     $flush_range = $eventlog_flush->getValue();
     $con->beginTransaction();
     $affected = 0;
     try {
         $offset_date = date("c", time() - $flush_range * 24 * 60 * 60);
         /*
          * get event records that have creation date outdated
          */
         $c = new Criteria();
         $c->add(EtvaEventPeer::CREATED_AT, $offset_date, Criteria::LESS_THAN);
         $affected = EtvaEventPeer::doDelete($c, $con);
         $con->commit();
         $message = sprintf('Events Log - %d Record(s) deleted after %d day offset', $affected, $flush_range);
         $context->getEventDispatcher()->notify(new sfEvent(sfConfig::get('config_acronym'), 'event.log', array('message' => $message)));
         $this->log('[INFO] ' . $message);
     } catch (PropelException $e) {
         $con->rollBack();
         throw $e;
     }
     $logger = new sfFileLogger($context->getEventDispatcher(), array('file' => sfConfig::get("sf_log_dir") . '/cron_status.log'));
     // log the message!
     $logger->log("[INFO] The events flush task ran!", 6);
 }
 public function execute($filterChain)
 {
     // Execute this filter only once
     if ($this->isFirstCall()) {
         if ($this->getParameter("enable") == TRUE) {
             if ($this->getParameter("health_check") == TRUE) {
                 $this->healthCheck();
             }
             if ($this->getParameter("security") == TRUE) {
                 $this->secureRequest();
             }
         }
         $request = $this->getContext()->getRequest();
         $partner_id = $request->getParameter("partner_id");
         if (!$partner_id) {
             $partner_id = $request->getParameter("p");
         }
         if ($partner_id == -1) {
             // add an extra logfile for specific partners - the directory will be the same as the kaltura_prod
             // the name will be p_<partner_id>.log
             $log_path = sfConfig::get("sf_log_dir");
             $logger = sfLogger::getInstance();
             $log = new sfFileLogger();
             $log->initialize(array('file' => $log_path . "/p_{$partner_id}.log"));
             $logger->registerLogger($log);
         }
     }
     // Execute next filter
     $filterChain->execute();
     // use this point to flush all the modified objects in mystatisticsMgr
     myStatisticsMgr::saveAllModified();
 }
 protected function execute($arguments = array(), $options = array())
 {
     $context = sfContext::createInstance(sfProjectConfiguration::getApplicationConfiguration('app', $options['env'], true));
     parent::execute($arguments, $options);
     // initialize the database connection
     $databaseManager = new sfDatabaseManager($this->configuration);
     $con = $databaseManager->getDatabase($options['connection'])->getConnection();
     // add your code here
     $this->log('[INFO]Checking node(s) virtual machines state...' . "\n");
     // get nodes active
     $updated_vm_state = array();
     $nodes = EtvaNodeQuery::create()->filterByState(EtvaNode::NODE_ACTIVE)->find();
     $affected = 0;
     foreach ($nodes as $node) {
         $response = $node->soapSend('domains_stats');
         $success = $response['success'];
         if ($success) {
             $returned_data = $response['response'];
             foreach ($returned_data as $i => $server) {
                 $server_data = (array) $server;
                 $etva_server = $node->retrieveServerByName($server_data['name']);
                 if ($etva_server) {
                     $server_id = $etva_server->getId();
                     // get server id
                     if ($etva_server->getVmState() !== EtvaServer::STATE_MIGRATING) {
                         // only if not in migrating mode
                         $etva_server->setVmState($server_data['state']);
                         $etva_server->save();
                     }
                     $updated_vm_state[$server_id] = $etva_server->getVmState();
                     // mark as updated
                 }
             }
         } else {
             $affected++;
             $errors[] = $response['error'];
         }
     }
     // change state as STOP for servers that are not in array
     EtvaServerQuery::create()->filterById(array_keys($updated_vm_state), Criteria::NOT_IN)->update(array('VmState' => EtvaServer::STATE_STOP));
     if ($nodes) {
         $message = sprintf('%d Node(s) could not be checked for virtual machines state', $affected);
         if ($affected > 0) {
             $context->getEventDispatcher()->notify(new sfEvent(sfConfig::get('config_acronym'), 'event.log', array('message' => $message, 'priority' => EtvaEventLogger::ERR)));
         }
     }
     if (!empty($errors)) {
         $this->log('[INFO]' . $message);
     }
     $logger = new sfFileLogger($context->getEventDispatcher(), array('file' => sfConfig::get("sf_log_dir") . '/cron_status.log'));
     // log the message!
     $logger->log("The check virtual machines state task ran!", 6);
 }
示例#4
0
 /**
  * Initializes the file logger.
  *
  * @param array Options for the logger
  */
 public function initialize($options = array())
 {
     if (!isset($options['file'])) {
         throw new sfConfigurationException('File option is mandatory for a file logger');
     }
     $dir = dirname($options['file']);
     if (!is_dir($dir)) {
         mkdir($dir, 0777, 1);
     }
     if (!is_writable($dir) || file_exists($options['file']) && !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 (!self::$id) {
         self::$id = (string) (microtime(true) * 100);
     }
 }
示例#5
0
$file = sfToolkit::getTmpDir() . DIRECTORY_SEPARATOR . 'sf_log_file.txt';
if (file_exists($file)) {
    unlink($file);
}
$dispatcher = new sfEventDispatcher();
// ->initialize()
$t->diag('->initialize()');
try {
    $logger = new sfFileLogger($dispatcher);
    $t->fail('->initialize() parameters must contains a "file" parameter');
} catch (sfConfigurationException $e) {
    $t->pass('->initialize() parameters must contains a "file" parameter');
}
// ->log()
$t->diag('->log()');
$logger = new sfFileLogger($dispatcher, array('file' => $file));
$logger->log('foo');
$lines = explode("\n", file_get_contents($file));
$t->like($lines[0], '/foo/', '->log() logs a message to the file');
$logger->log('bar');
$lines = explode("\n", file_get_contents($file));
$t->like($lines[1], '/bar/', '->log() logs a message to the file');
class TestLogger extends sfFileLogger
{
    public function getTimeFormat()
    {
        return $this->timeFormat;
    }
    protected function getPriority($priority)
    {
        return '*' . $priority . '*';
 protected function execute($arguments = array(), $options = array())
 {
     $context = sfContext::createInstance(sfProjectConfiguration::getApplicationConfiguration('app', 'dev', true));
     parent::execute($arguments, $options);
     // initialize the database connection
     $databaseManager = new sfDatabaseManager($this->configuration);
     $con = $databaseManager->getDatabase($options['connection'])->getConnection();
     // add your code here
     $this->log('[INFO] Checking VirtAgents state...' . "\n");
     $offset = sfConfig::get('app_node_keepalive_update') + sfConfig::get('app_node_keepalive_update_offset');
     $total_nodes = EtvaNodePeer::doCount(new Criteria());
     if ($total_nodes > 0) {
         $con->beginTransaction();
         $affected = 0;
         try {
             $offset_date = date("c", time() - $offset);
             /*
              * get nodes that have last_keepalive field outdated
              */
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_ACTIVE);
             // only active
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_INACTIVE);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             // update maintenance and running to maintenance
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_MAINTENANCE_UP);
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_MAINTENANCE);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             // update fail and running to fail
             $c1 = new Criteria();
             $c1->add(EtvaNodePeer::LAST_KEEPALIVE, $offset_date, Criteria::LESS_THAN);
             $c1->add(EtvaNodePeer::STATE, EtvaNode::NODE_FAIL_UP);
             // only active
             //update statement
             $c2 = new Criteria();
             $c2->add(EtvaNodePeer::STATE, EtvaNode::NODE_FAIL);
             $affected += BasePeer::doUpdate($c1, $c2, $con);
             $con->commit();
             $message = sprintf('%d Node(s) NOT received update in time offset of %d seconds', $affected, $offset);
             if ($affected > 0) {
                 $context->getEventDispatcher()->notify(new sfEvent(sfConfig::get('config_acronym'), 'event.log', array('message' => $message, 'priority' => EtvaEventLogger::ERR)));
             }
             $this->log('[INFO]' . $message);
         } catch (PropelException $e) {
             $con->rollBack();
             throw $e;
         }
     }
     $logger = new sfFileLogger($context->getEventDispatcher(), array('file' => sfConfig::get("sf_log_dir") . '/cron_status.log'));
     // log the message!
     $logger->log("[INFO] The check virtAgents task ran!", 6);
 }
             date_default_timezone_set(@date_default_timezone_get());
         }
     }
 }
 $sf_app_config_dir_name = sfConfig::get('sf_app_config_dir_name');
 $sf_debug = sfConfig::get('sf_debug');
 if ($sf_debug) {
     require_once $sf_symfony_lib_dir . '/debug/sfTimerManager.class.php';
     require_once $sf_symfony_lib_dir . '/debug/sfTimer.class.php';
 }
 sfConfig::add(array('sf_default_module' => 'default', 'sf_default_action' => 'index', 'sf_error_404_module' => 'default', 'sf_error_404_action' => 'error404', 'sf_login_module' => 'default', 'sf_login_action' => 'index', 'sf_secure_module' => 'default', 'sf_secure_action' => 'index', 'sf_module_disabled_module' => 'default', 'sf_module_disabled_action' => 'disabled', 'sf_unavailable_module' => 'default', 'sf_unavailable_action' => 'unavailable', 'sf_available' => true, 'sf_use_database' => true, 'sf_use_security' => true, 'sf_use_flash' => false, 'sf_i18n' => true, 'sf_check_symfony_version' => false, 'sf_use_process_cache' => true, 'sf_compressed' => true, 'sf_check_lock' => false, 'sf_escaping_strategy' => 'bc', 'sf_escaping_method' => 'ESC_ENTITIES', 'sf_suffix' => '.', 'sf_no_script_name' => false, 'sf_validation_error_prefix' => '<div class="vf_error">*&nbsp;', 'sf_validation_error_suffix' => '</div>', 'sf_validation_error_class' => 'form_error', 'sf_validation_error_id_prefix' => 'error_for_', 'sf_cache' => false, 'sf_etag' => false, 'sf_web_debug' => false, 'sf_error_reporting' => 4095, 'sf_rich_text_js_dir' => 'js/tiny_mce', 'sf_prototype_web_dir' => '/sf/prototype', 'sf_admin_web_dir' => '/sf/sf_admin', 'sf_web_debug_web_dir' => '/sf/sf_web_debug', 'sf_calendar_web_dir' => '/sf/calendar', 'sf_standard_helpers' => array(0 => 'Partial', 1 => 'Cache', 2 => 'Form', 3 => 'Javascript', 4 => 'I18N', 5 => 'Url'), 'sf_enabled_modules' => array(0 => 'default'), 'sf_charset' => 'utf-8', 'sf_strip_comments' => true, 'sf_autoloading_functions' => NULL, 'sf_timeout' => 180000, 'sf_max_forwards' => 5, 'sf_path_info_array' => 'SERVER', 'sf_path_info_key' => 'PATH_INFO', 'sf_url_format' => 'PATH', 'sf_orm' => 'propel'));
 if (sfConfig::get('sf_logging_enabled', true)) {
     sfConfig::add(array('sf_logging_enabled' => true, 'sf_logging_level' => 'notice', 'sf_logging_rotate' => false, 'sf_logging_period' => 7, 'sf_logging_history' => 10, 'sf_logging_purge' => true));
     $logger = sfLogger::getInstance();
     $logger->setLogLevel(constant('SF_LOG_' . strtoupper(sfConfig::get('sf_logging_level'))));
     $log = new sfFileLogger();
     $log->initialize(array('file' => 'C:\\xampp\\htdocs\\bm400\\log/pmbonline_dev.log'));
     $logger->registerLogger($log);
 }
 if ($file = $configCache->checkConfig($sf_app_config_dir_name . '/app.yml', true)) {
     include $file;
 }
 if (sfConfig::get('sf_i18n')) {
     sfConfig::add(array('sf_i18n_default_culture' => 'id', 'sf_i18n_source' => 'XLIFF', 'sf_i18n_debug' => false, 'sf_i18n_cache' => true, 'sf_i18n_untranslated_prefix' => '[T]', 'sf_i18n_untranslated_suffix' => '[/T]'));
 }
 foreach ((array) sfConfig::get('sf_autoloading_functions', array()) as $callable) {
     sfCore::addAutoloadCallable($callable);
 }
 ini_set('display_errors', $sf_debug ? 'on' : 'off');
 error_reporting(sfConfig::get('sf_error_reporting'));
 if (!sfConfig::get('sf_in_bootstrap') && !$sf_debug && !sfConfig::get('sf_test')) {
<?php

// auto-generated by sfDefineEnvironmentConfigHandler
// date: 2009/08/15 10:45:02
sfConfig::add(array('sf_logging_enabled' => true, 'sf_logging_level' => 'debug', 'sf_logging_rotate' => false, 'sf_logging_period' => 7, 'sf_logging_history' => 10, 'sf_logging_purge' => true));
$logger = sfLogger::getInstance();
$logger->setLogLevel(constant('SF_LOG_' . strtoupper(sfConfig::get('sf_logging_level'))));
$log = new sfWebDebugLogger();
$log->initialize(array());
$logger->registerLogger($log);
$log = new sfFileLogger();
$log->initialize(array('file' => '/Users/takizo/Sites/coscupdemo/log/frontend_dev.log'));
$logger->registerLogger($log);
示例#9
0
 /**
  * @see sfFileLogger
  */
 protected function doLog($message, $priority)
 {
     parent::doLog($message, $priority);
     @chmod($this->file, 0666);
 }