tp5实现Log 日志输出

2023-02-20 15:06:29 浏览数 (1)

第一步: 引入tp5自带log日志类

代码语言:javascript复制
use thinkLog;

第二步配置日志文件

代码语言:javascript复制
Log::init([
// 日志记录方式,内置 file socket 支持扩展
'type' => 'File',
// 日志保存目录
'path' => APP_PATH . 'logs/',
// 日志记录级别
'level' => ['error'],
]);

第三部调用日志输错日志内容

代码语言:javascript复制
Log::error('phone: ' . input('phone') . "n");

官方给出的日志文档如下:

日志级别

ThinkPHP对系统的日志按照级别来分类,并且这个日志级别完全可以自己定义,系统内部使用的级别包括:

  • log 常规日志,用于记录日志
  • error 错误,一般会导致程序的终止
  • notice 警告,程序可以运行但是还不够完美的错误
  • info 信息,程序输出信息
  • debug 调试,用于调试信息
  • sql SQL语句,用于SQL记录,只在数据库的调试模式开启时有效

系统提供了不同日志级别的快速记录方法,例如:

代码语言:javascript复制
Log::error('错误信息');
Log::info('日志信息');
// 和下面的用法等效
Log::record('错误信息','error');
Log::record('日志信息','info');

还封装了一个助手函数用于日志记录,例如:

代码语言:javascript复制
trace('错误信息','error');
trace('日志信息','info');

也支持指定级别日志的输入,需要配置信息:

代码语言:javascript复制
'log'   => [
    'type'  => 'File',
    // 日志记录级别,使用数组表示
    'level' => ['error'],
],

单文件日志

在某些情况下,需要对日志记录进行分析和处理,那么开启单文件日志写入就会方便分析

代码语言:javascript复制
'log'   => [
    'type'  => 'File',
    // 日志记录级别,使用数组表示
    'single' => true,
],

开启后,日志文件不再区分日期文件写入,而是统一写入到single.log文件中。

日志自动清理

V5.0.16 版本开始,支持文件日志的自动清理功能,你可以设置

代码语言:javascript复制
'max_files'    => 30

则日志文件最多只会保留30个,超过会自动清理较早的日志文件,避免日志文件长期写入占满磁盘空间。

phpstudy 配置日志文件

需要将php.ini中的配置指令做如下修改:

  1. error_reporting = E_ALL ;将会向PHP报告发生的每个错误
  2. display_errors = Off ;不显示满足上条 指令所定义规则的所有错误报告
  3. log_errors = On ;决定日志语句记录的位置
  4. log_errors_max_len = 1024 ;设置每个日志项的最大长度
  5. error_log = E:/php_log/php_error.log ;指定产生的 错误报告写入的日志文件位置

输出错误日志信息

error_log(“输出错误日志”, 0);

phpstudy mysql 开启错误日志方法

在的配置文件mysql-ini中加入下面的配置

log-error=”D:/phpStudy/MySQL/logs/error.log”

log=”D:/phpStudy/MySQL/logs/mysql.log”

long_query_time=2

log-slow-queries= “D:/phpStudy/MySQL/logs/slowquery.log”

未经允许不得转载:肥猫博客 » tp5实现Log 日志输出

0 人点赞