zoukankan      html  css  js  c++  java
  • thinkPHP5 日志的写入

    版本新增功能
    5.0.16 增加文件日志自动清理功能支持
    5.0.13 增加单文件日志写入功能
    5.0.10 增加record_trace配置参数用于记录trace信息到日志
    5.0.4 命令行模式下日志自动定时写入
      debug日志类型仅用于调试模式记录

    手动记录

    一般情况下,系统的日志记录是自动的,无需手动记录,但是某些时候也需要手动记录日志信息,Log类提供了3个方法用于记录日志。

    方法描述
    Log::record() 记录日志信息到内存
    Log::save() 把保存在内存中的日志信息(用指定的记录方式)写入
    Log::write() 实时写入一条日志信息

    由于系统在请求结束后会自动调用Log::save方法,所以通常,你只需要调用Log::record记录日志信息即可。

    record方法用法如下:

    Log::record('测试日志信息');
    

    默认的话记录的日志级别是INFO,也可以指定日志级别:

    Log::record('测试日志信息,这是警告级别','notice');
    

    采用record方法记录的日志信息不是实时保存的,如果需要实时记录的话,可以采用write方法,例如:

    Log::write('测试日志信息,这是警告级别,并且实时写入','notice');
    

    V5.0.4+版本开始,为避免内存溢出,在命令行下面执行的话 日志信息会定时自动写入。

    日志级别

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

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

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

    Log::error('错误信息');
    Log::info('日志信息');
    // 和下面的用法等效
    Log::record('错误信息','error');
    Log::record('日志信息','info');
    

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

    trace('错误信息','error');
    trace('日志信息','info');
    

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

    'log'   => [
        'type'  => 'File',
        // 日志记录级别,使用数组表示
        'level' => ['error'],
    ],
    

    单文件日志

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

    'log'   => [
        'type'  => 'File',
        // 日志记录级别,使用数组表示
        'single' => true,
    ],
    

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

    日志自动清理

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

    'max_files'	=> 30
    

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

    开启自动清理功能后,不会生成日期子目录。

  • 相关阅读:
    Selenium简单测试页面加载速度的性能(Page loading performance)
    Selenium Page object Pattern usage
    Selenium如何支持测试Windows application
    UI Automation的两个成熟的框架(QTP 和Selenium)
    分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
    敏捷开发中的测试金字塔(转)
    Selenium 的基础框架类
    selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
    eclipse与SVN 结合(删除SVN中已经上传的问题)
    配置Jenkins的slave节点的详细步骤适合windows等其他平台
  • 原文地址:https://www.cnblogs.com/xu1115/p/11118664.html
Copyright © 2011-2022 走看看