-
Hahn Axel (hahn) authoredHahn Axel (hahn) authored
cronlog.class.php 10.07 KiB
<?php
/**
* central cronlog viewer
*
* cronlog contains non visual methods
* @see cronlog-renderer.class.php
*
* @author hahn
*/
class cronlog {
protected $_sDataDir = "__APPDIR__/data";
protected $_iTtlCache = 60; // in sec
/**
* when show an error for expired jobs (latency to execute job and sync logs)
* @var integer
*/
protected $_iExpiredJobsFailAfter = 60*30; // in sec
protected $_aSkipJoblogs = array();
protected $_aServers = array();
protected $_sActiveServer = false;
protected $_sFileFilter_serverjoblog = '*joblog*.done';
protected $_sFileFilter_serverlog = '*.log';
// ----------------------------------------------------------------------
// MAIN
// ----------------------------------------------------------------------
/**
* init
* @return boolean
*/
public function __construct() {
// read config
if (file_exists(__DIR__.'/../config/inc_cronlog.php')){
$aCfgTemp=include(__DIR__.'/../config/inc_cronlog.php');
$this->_sDataDir = isset($aCfgTemp['sDatadir']) ? $aCfgTemp['sDatadir'] : $this->_sDataDir;
$this->_iTtlCache = isset($aCfgTemp['iTtlCache']) ? (int)$aCfgTemp['iTtlCache'] : $this->_iTtlCache;
$this->_iExpiredJobsFailAfter = isset($aCfgTemp['iExpiredJobsFailAfter']) ? (int)$aCfgTemp['iExpiredJobsFailAfter'] : $this->_iExpiredJobsFailAfter;
$this->_aSkipJoblogs = isset($aCfgTemp['aHidelogs']) && is_array($aCfgTemp['aHidelogs']) ? $aCfgTemp['aHidelogs'] : $this->_aSkipJoblogs;
}
$this->_sDataDir = str_replace("__APPDIR__", dirname(dirname(__FILE__)), $this->_sDataDir);
$this->_sDataDir = str_replace('\\', '/', $this->_sDataDir);
$this->getServers();
return true;
}
// ----------------------------------------------------------------------
// private
// ----------------------------------------------------------------------
/**
* chaching: get the full path of directory for caching
* @return type
*/
protected function _getCacheDir(){
return $this->_sDataDir.'/__cache';
}
/**
* caching: get full path of a caching item