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

Think PHP 日志文件

2016-02-27 22:27 405 查看
建议使用Think PHP框架的日志写入方法,因为Think PHP的日志写入函数可以分为实时写入和非实时写入,项目上线之后我们肯定倾向去使用非实时写入。

下图为日志程序Log的位置:



如下图所示:

think php 日志记录方式默认为记录文本文件(File);

是否记录日志可以通过LOG_RECORD设置;

LOG_LEVEL为在开启记录日志的情况下需要记录的日志级别;

下面的LOG_FILE_SIZE为允许记录的日志大小;

LOG_EXCEPTION_RECORD为是否记录异常日志;



以上笼统的介绍了LOG的配置信息,接下来介绍使用日志的时候一些需要注意的地方。

think php的日志级别包括以下几类:

EMERG 严重错误,导致系统崩溃无法使用

ALERT 警戒性错误, 必须被立即修改的错误

CRIT 临界值错误, 超过临界值的错误

ERR 一般性错误

WARN 警告性错误, 需要发出警告的错误

NOTICE 通知,程序可以运行但是还不够完美的错误

INFO 信息,程序输出信息

DEBUG 调试,用于调试信息

SQL SQL语句,该级别只在调试模式开启时有效

正如上面LOG_TYPE中指定的样子,只有允许记录该类日志的时候,才会记录。

我重点要介绍的是自定义日志记录规则,在产品上线之后,我们一般会关闭系统日志,但是可能会自定义一些日志记录下来。由于Think Php支持把日志暂时记录在内存中,在合适的时候把日志写到文件中,所以使用该框架记录日志的时候,建议不使用php的写文件函数而是使用Think php的方法:

Think\Log::record('测试日志信息,这是警告级别','WARN');
Think\Log::record('测试日志信息,这是警告级别','WARN',true);
Think\Log::save()


需要指出的是第一句和第二句的区别。在上面介绍过,THINK PHP只会记录规定类型的日志,如果你强制记录一条日志,需要在record函数里面使用true强制记录

测试服务器实测有效:

\Think\Log::record(date('d:H:m:s').' sys:'.$os.' ip:'.
$ip.' bro:'.$browser.' url:'.$url.' prev:'.
$prevUrl.' pars:'.$pars."\n",'',true);
\Think\Log::save();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: