应用日志

    此配置也是框架默认的配置文件,把应用日志按日志级别分别写到两个不同的文件里面。

    配置日志格式:

    • format 日志输到文件格式
    • dateFormat 日志输出时间格式

    配置详细参数:

    • class 配置采用哪种类型的,框架默认提供文件,用户可以自己扩展其它类型
    • logFile 输出日志文件路径,支持别名
    • formatter 日志输出使用日志格式,就是之前配置的日志格式
    • levels 支持日志输出的日志级别

    logger 日志配置:

    • name 名称
    • flushInterval 日志输出频率默认 1
    • flushRequest 是否每个请求结束输出日志开,默认 false
    • enable 是否开启日志,默认 false
    • json 是否 JSON 格式输出,默认 false
    • items 日志其它数据,配置是一个数组集合

    使用

    • debug
    • alert
    • info
    • warning
    • error
    1. // Tag start
    2. Log::profileStart('tagName');
    3. Log::debug('this %s log', 'debug');
    4. Log::info('this %s log', 'info');
    5. Log::warning('this %s log', 'warning');
    6. Log::alert('this %s log', 'alert');
    7. Log::emergency('this %s log', 'emergency');
    8. // Pushlog
    9. Log::pushLog('key', ['value']);
    10. Log::pushLog('key', 'value');
    11. // Tag end
    12. Log::profileEnd('tagName');
    13. // Counting
    14. Log::counting('mget', 1, 10);
    15. Log::counting('mget', 2, 10);
    16. // 2019-05-11 06:57:27 [info] [swoft] [request] [tid:4] [cid:4] [traceid:] [spanid:] [parentid:] trace[LogController.php:29,App\Http\Controller\LogController->test] info message
    17. // 2019-05-11 06:57:27 [debug] [swoft] [request] [tid:4] [cid:4] [traceid:] [spanid:] [parentid:] trace[LogController.php:35,App\Http\Controller\LogController->test] this debug log
    18. // 2019-05-11 06:57:27 [info] [swoft] [request] [tid:4] [cid:4] [traceid:] [spanid:] [parentid:] trace[LogController.php:36,App\Http\Controller\LogController->test] this info log
    19. // 2019-05-11 06:57:27 [warning] [swoft] [request] [tid:4] [cid:4] [traceid:] [spanid:] [parentid:] trace[LogController.php:37,App\Http\Controller\LogController->test] this warning log
    20. // 2019-05-11 06:57:27 [error] [swoft] [request] [tid:4] [cid:4] [traceid:] [spanid:] [parentid:] trace[LogController.php:38,App\Http\Controller\LogController->test] this error log
    21. // 2019-05-11 06:57:27 [notice] [swoft] [request] [tid:4] [cid:5] [traceid:] [spanid:] [parentid:] [8.52(ms)] [27(MB)] [/log/test] [key=value key=["value"] key=value] profile[tagName=5.02(ms)/2] counting[mget=3/20]

    除常用的日志级别,框架还提供 pushLog profile

    • pushLog 用于记录请求执行过程中的参数,notice 日志里面可以查看