public static function factory($config) { $options = self::_parseConfig($config); if (!isset($options['to'])) { // Note that the logging is configured wrongly... but we can't log that because, well... // the logging is configured wrongly... so we could crash and burn, but in this case that would be overkill, // so we silently ignore it... // Which may cause someone some headache down the road, but c'est la vie... return new Zend_Log_Writer_Null(); } $formatter = new EngineBlock_Log_Formatter_Mail($options['filterValues']); $writer = new self($options, $formatter); $writer->setSubjectPrependText('[SURFconext][EngineBlock][' . gethostname() . ']'); if (isset($options['filterName'])) { // has underscores if (strpos($options['filterName'], '_') !== false) { $className = 'Zend_Log_Filter_' . $options['filterName']; } else { $className = $options['filterName']; } $filter = new $className($options['filterParams']); $writer->addFilter($filter); } return $writer; }
public static function byName($name) { $niceName = str_replace('_', ' ', $name); $settings = new self(); $settings->addFilter(new Ajde_Filter_Join('setting_meta', 'setting_meta.setting', 'setting.id')); $settings->addFilter(new Ajde_Filter_Join('meta', 'meta.id', 'setting_meta.meta')); $settings->addFilter(new Ajde_Filter_Where('setting.name', Ajde_Filter::FILTER_EQUALS, $niceName)); $settings->getQuery()->addSelect('setting_meta.value'); $settings->getQuery()->addSelect('meta.name AS meta_name'); $result = []; if ($settings->count()) { foreach ($settings as $setting) { $result[$setting->meta_name] = $setting->value; } } return $result; }
public static function easyFactory($filename = '', $verbose = false, $level = 7) { $result = new self(); if ($filename) { $result->addWriter(new Miao_Log_Writer_Stream($filename)); } if ($verbose) { $result->addWriter(new Miao_Log_Writer_Stream('php://output')); } if (!$filename && !$verbose) { $result->addWriter(new Miao_Log_Writer_Null()); } $filter = new Miao_Log_Filter_Priority($level); $result->addFilter($filter); return $result; }