LogFile = @fopen(Constants::HW_PUSH_LOG_FILE_NAME, 'a+'); // if (!is_resource($this->LogFile)) { // throw new Exception(Constants::HW_PUSH_LOG_FILE_NAME . 'invalid file Stream'); // } // fwrite($this->LogFile, $this->logBanner); $pushConfig = PushConfig::getSingleInstance(); // $this->default_log_level = $pushConfig->HW_DEFAULT_LOG_LEVEL; // if (empty($this->default_log_level)) { // $this->default_log_level = Constants::HW_PUSH_LOG_INFO_LEVEL; // } } /** * single instance */ public static function getSingleInstance() { static $obj; if (!isset($obj)) { $obj = new PushLogConfig(); } return $obj; } /** * core log process */ public function LogMessage($msg, $logLevel = Constants::HW_PUSH_LOG_INFO_LEVEL, $module = null, $timeZone = 'Asia/shanghai', $timeFormat = "%Y-%m-%d %H:%M:%S") { return; if (empty($logLevel)) { $logLevel = Constants::HW_PUSH_LOG_INFO_LEVEL; } if ($logLevel > $this->default_log_level) { return; } date_default_timezone_set($timeZone); $time = strftime($timeFormat, time()); $msg = str_replace("\t", '', $msg); $msg = str_replace("\n", '', $msg); $strLogLevel = $this->levelToString($logLevel); if (isset($module)) { $module = '[' . str_pad(str_replace(array( "\n", "\t" ), array( "", "" ), $module), $this->LOG_MODULE_FIXED_LEN) . ']'; $logLine = "$time\t$strLogLevel\t$module\t$msg\r\n"; } else { $logLine = "$time\t$strLogLevel\t$msg\r\n"; } print_r($logLine . '
'); fwrite($this->LogFile, $logLine); } private function levelToString($logLevel) { $ret = 'LOG::UNKNOWN'; switch ($logLevel) { case Constants::HW_PUSH_LOG_DEBUG_LEVEL: $ret = 'LOG::DEBUG'; break; case Constants::HW_PUSH_LOG_INFO_LEVEL: $ret = 'LOG::INFO'; break; case Constants::HW_PUSH_LOG_WARN_LEVEL: $ret = 'LOG::WARNING'; break; case Constants::HW_PUSH_LOG_ERROR_LEVEL: $ret = 'LOG::ERROR'; break; } return $ret; } }