您的位置:首页 > 编程语言 > PHP开发

通用的日志记录器(PHP)

2014-04-28 10:45 375 查看
一个通用的日志记录器

<?php
class Log4p{

const LOG_PATH = "/data/logs/mobact2rd/drawcard";

static function writeLog($str, $filename='debug', $fileCutByDate = true, $dirCutByDate = true) {
if (empty($str)) return;
$dir = '';

if ( $dirCutByDate) {
$dir = self::LOG_PATH . '/' . date("Ymd");
} else {
$dir = self::LOG_PATH;
}

if (!file_exists($dir)) {
@mkdir($dir, 0775, true);
}

$file = '';

if ($fileCutByDate) {
$file = $dir . '/' . $filename . '_' . date("Y-m-d") . '.log';
} else {
$file = $dir . '/' . $filename . '.log';
}

$f = fopen($file, 'a');
if ($f) {
fwrite($f, $str . "\n");
fclose($f);
}
}

public static function getLogRootPath() {
return self::LOG_PATH;
}

// remote 日志
public static function r($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'remote');
}

public static function f($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'fetal');
}

public static function e($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'error');
}

public static function i($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'info');
}

public static function w($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'warn');
}

public static function d($log = '') {
self::writeLog($log, 'debug');
}

public static function m($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'monitor');
}

public static function winner($uid, $type, $message) {
$log = self::buildLog($uid, $type, $message);
self::writeLog($log, 'winner', false, false);
}

private static function buildLog($uid, $type, $message) {
$_log = array(
date("Y-m-d H:i:s"),
Utils::getRealIp(),
$uid,
$type,
$message,
);
return implode("\t", $_log);
}

}
?>


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: