php日志格式,php 日志记录的自定义函数

/**

* 记录一条日志,会以以下三种方式依次尝试写日志。

* - 向当前参数指定的文件写入日志。

* - 尝试向php.ini中指定的error_log写内容。

* - 向系统日志写内容,还是失败的话则返回false。

*

* 不用每次调用时都指定logFile和dateFormat参数

* 系统会自动记住上次指定的内容。

*

* PHP5.0之后请确保已经设置好时区,否则可能会抛出一个错误。

* example:

* @code php

* // 第一次调用,初始化日志,并写入第一条信息。

* logg('init...', LOG_INFO, '/usr/log.txt', 'y-m-d');

* // 写日志

* logg('log msg', LOG_INFO);

* @endcode

*

* @param string $message 日志内容

* @param int $type 日志类型,参照syslog函数的参数

* @param string $logFile 日志文件

* @param string $dateFormat 日志的时间格式

* @return bool 是否成功写入

* @staticvar array $types 参数$type对应的描述信息。

* @staticvar string $file 保存$logFile参数最后次传递的内容。

* @staticvar string $format 保存$dateFormat参数最后传递的内容。

* @link http://www.jquerycn.cn

*/

function logg($message, $type, $logFile = null, $dateFormat = null)

{

static $types = array(

LOG_EMERG => 'EMERG',

LOG_ALERT => 'ALERT',

LOG_CRIT => 'CRITICAL',

LOG_ERR => 'ERROR',

LOG_WARNING => 'WARNING',

// windows下,以下这三个值是一样的

LOG_NOTICE  => 'NOTICE',

LOG_DEBUG => 'DEBUG',

LOG_INFO => 'INFO');

static $file = null;

static $format = 'Y-m-d H:i:s';

if(!is_null($logFile)){ $file = $logFile; }

if(!is_null($dateFormat)){  $format = $dateFormat; }

/* 格式化消息 */

$type = isset($types[$type]) ? $type : LOG_INFO;

$msg = date($format) . ' [' . $types[$type] . '] ' . $message . PHP_EOL;

if(error_log($msg, 3, $file))

{ return true;  }

if(error_log($msg, 0))

{ return true;  }

return syslog($type, $message);

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值