1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-26 03:30:48 +03:00

Система логирования крон-процессов

This commit is contained in:
Alexey Kachayev 2009-09-11 12:13:53 +00:00
parent 0eecbe72af
commit a9bcec1f01
3 changed files with 27 additions and 7 deletions

View file

@ -248,6 +248,7 @@ $config['sys']['logs']['sql_query'] = false; // логирова
$config['sys']['logs']['sql_query_file'] = 'sql_query.log'; // файл лога SQL запросов
$config['sys']['logs']['sql_error'] = true; // логировать или нет ошибки SQl
$config['sys']['logs']['sql_error_file'] = 'sql_error.log'; // файл лога ошибок SQL
$config['sys']['logs']['cron_file'] = 'cron.log'; // файл лога запуска крон-процессов
/**
* Общие настройки
*/

View file

@ -25,18 +25,18 @@ class Cron extends Object {
* @var Engine
*/
protected $oEngine=null;
/**
* Объект для логирования действий и вывода
*
* @va object
*/
protected $oLog=null;
/**
* Дескриптор блокирующего файла
*
* @var string
*/
protected $oLockFile=null;
/**
* Имя процесса, под которым будут помечены все сообщения в логах
*
* @var string
*/
protected $sProcessName='Cron';
public function __construct($sLockFile=null) {
$this->oEngine=Engine::getInstance();
@ -44,6 +44,23 @@ class Cron extends Object {
if(!empty($sLockFile)) {
$this->oLockFile=fopen($sLockFile,'a');
}
/**
* Инициализируем лог и делает пометку о старте процесса
*/
$this->oEngine->Logger_SetFileName(Config::Get('sys.logs.cron_file'));
$this->Log('Cron process started');
}
/**
* Делает запись в лог
*
* @param string $sMsg
* @return
*/
public function Log($sMsg) {
$sMsg=$this->sProcessName.': '.$sMsg;
$this->oEngine->Logger_Notice($sMsg);
}
/**
@ -91,10 +108,11 @@ class Cron extends Object {
}
/**
* Здесь будет реализована логика завершения работы срон-процесса
* Здесь будет реализована логика завершения работы cron-процесса
*/
public function Shutdown() {
$this->unsetLock();
$this->Log('Cron process ended');
}
public function __destruct() {
$this->Shutdown();

View file

@ -24,6 +24,7 @@ require_once($sDirRoot."/config/loader.php");
require_once($sDirRoot."/engine/classes/Cron.class.php");
class NotifyCron extends Cron {
protected $sProcessName='NotifyCron';
/**
* Выбираем пул заданий и рассылаем по ним e-mail
*/