thinkphp项目调试,如何配置log日志文件地址?
发布于 作者:苏南大叔 来源:程序如此灵动~作为国内的phper
最受欢迎的框架,目前thinkphp
到了thinkphp5
时代。在本文中,苏南大叔要描述的是thinkphp
如何配置log
功能。当然,这里的log
指的是:记录访客访问数据到本地文件之中。如果,您在php
前方还配置了nginx
的话,其实这个thinkphp
的log
功能和nginx
的log
功能,两者在访客记录方面的功用是重合的。当然,两者也是有所区别的。
为什么要使用这个thinkphp
的log
功能呢?因为可以通过thinkphp
的日志功能,发现一些可疑的访问请求,您懂的。如果您在安全领域做事的话,这个log
日志文件就是非常好用的线索发现之地。本文测试环境:mac
/thinkphp@5.0.24完整版
。
配置源码
在ThinkPHP5.0.24
完整版源码中,默认是启用了这个log
的文件写入功能的。配置文件位置为:
application/config.php
:
'log' => [
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => LOG_PATH,
// 日志记录级别
'level' => [],
],
其中,LOG_PATH
的默认值是这里配置的:thinkphp/base.php
:
defined('APP_PATH') or define('APP_PATH', dirname($_SERVER['SCRIPT_FILENAME']) . DS);
defined('ROOT_PATH') or define('ROOT_PATH', dirname(realpath(APP_PATH)) . DS);
defined('RUNTIME_PATH') or define('RUNTIME_PATH', ROOT_PATH . 'runtime' . DS);
defined('LOG_PATH') or define('LOG_PATH', RUNTIME_PATH . 'log' . DS);
意思就是默认日志文件会出现在runtime
目录下面的log
目录里面。
所以,如果您想要自定义LOG_PATH
的话,就需要在index.php
里面,定义一个常量LOG_PATH
即可。并且请给予相关目录写入权限。
public/index.php
:
define('LOG_PATH', __DIR__ . '/../logdiy/');
相关链接:
更多log
设置
官方还给出了下面的更多设置项目,如果您有需求,可以再次深入探讨。
'log' => [
// 日志记录方式,支持 file socket
'type' => 'File',
//日志保存目录
'path' => LOG_PATH,
//单个日志文件的大小限制,超过后会自动记录到第二个文件
'file_size' =>2097152,
//日志的时间格式,默认是` c `
'time_format' =>'c'
// error和sql日志单独记录
'apart_level' => ['error','sql'],
],
禁用log
这个thinkphp
自带的log
,其实是和nginx
的log
功能是有重合的。如果您需要,可以禁用掉这个log
功能。禁用的方法就是:设置type
为test
即可。
'log' => [
// 可以临时关闭日志写入
'type' => 'test',
],
主动写入日志信息
og::error('错误信息');
Log::info('日志信息');
// 和下面的用法等效
Log::record('错误信息','error');
Log::record('日志信息','info');
trace('错误信息','error');
trace('日志信息','info');
ThinkPHP
对系统的日志按照级别来分类,并且这个日志级别完全可以自己定义,系统内部使用的级别包括:
log
常规日志,用于记录日志error
错误,一般会导致程序的终止notice
警告,程序可以运行但是还不够完美的错误info
信息,程序输出信息debug
调试,用于调试信息sql
SQL语句,用于SQL记录,只在数据库的调试模式开启时有效
相关链接
总结
这些日志里面,有访客访问日志,还有报错信息,甚至sql
记录等等。如果从这个层面上讲的话,可能nginx
的日志,就没有这个thinkphp
自带的日志大而全了。
当然,thinkphp
的日志不光可以写入到file
里面,还可以写入到其它地方。不过,也不在本文的讨论范畴内了。不要小看thinkphp
的日志文件功能,是非常的好用。在接下来的文章中,苏南大叔将要描述一个真实案例,如何从这个日志文件发现黑客入侵痕迹。
更多thinkphp
文章,请点击苏南大叔的博客:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。