Logging 介绍

日志打印是一门学问. 合理的日志打印, 适当的信息留存可以有效的帮助开发者快速定位问题与排错.

作者不推崇对应用程序直接进行debug, 静态调试会让人产生依赖性.

API 介绍:

log:new(opt)

opt是一个配置表, 仅接受path参数作为保存路径(optional).

如您无需将日志序列化到磁盘, 可不用传递任何参数.

此方法返回一个日志对象:Log

Log:INFO(…)

打印普通日志. 参数为可变参

此方法无返回值.

Log:DEBUG(…)

打印调试日志. 参数为可变参

此方法无返回值.

Log:WARN(…)

打印警告日志. 参数为可变参

此方法无返回值.

Log:ERROR(…)

打印警告信息. 参数为可变参.

此方法无返回值.

使用介绍:

1. 初始化日志对象

  1. local LOG = require "logging"
  2. local log = LOG:new()

2. 打印日志

  1. log:INFO('this is INFO LOG', nil, 1, nil)
  2. log:DEBUG('this is DEBUG LOG', nil, nil, 1)
  3. log:WARN('this is WARN LOG', 1, nil, nil)
  4. log:ERROR('this is ERROR LOG', nil, nil, nil, {1, 2, 3})

3. 查看输出

  1. [2019-04-27 12:08:22,560] [@script/main.lua:6] [INFO] : this is INFO LOG, nil, 1, nil
  2. [2019-04-27 12:08:22,560] [@script/main.lua:7] [DEBUG] : this is DEBUG LOG, nil, nil, 1
  3. [2019-04-27 12:08:22,560] [@script/main.lua:8] [WARN] : this is DEBUG LOG, 1, nil, nil
  4. [2019-04-27 12:08:22,561] [@script/main.lua:9] [ERROR] : this is ERROR LOG, nil, nil, nil, {[1]=1, [2]=2, [3]=3}