现在的位置: 首页 > 综合 > 正文

Lua的日志库–LuaLogging

2013年08月18日 ⁄ 综合 ⁄ 共 1489字 ⁄ 字号 评论关闭
 
Lua的日志库--LuaLogging

LuaLogging是一个用Lua实现的,结构类似log4j的日志工具库.其API比较简单,加上动态语言的优势,使用非常简单方便.
LuaLogging当前支持多种日志输出,包括email和sql.
目前最新版是Version 1.1.3,适用于Lua 5.1.
LuaLoggingKepler(开普勒)工程的一部分.
LuaLogging还使用了另外两个知名的Lua项目: LuaSocket 2.0 和 LuaSQL 2.0.
目前最新的版本是 2007年8月8日的 1.1.3,看来作者还是很勤快的:)
LuaLogging定义了一个全局表 logging,其中包含了一个工厂方法用了生成新的 logger对象.
logger的构造函数接受一个函数(appender函数),该函数将在每次log日志的时候调用.
appender函数接受3个参数:
self: logger对象
level: 日志级别
message:需要记录的日志消息
LuaLogging遵照 Lua 5.1 的 package 模型,因此它必须被安装到你的  package.path路径中.
你可以这样来查看
> print(package.path)

安装非常简单,只要拷贝logging目录到上面打印出的任意一个目录中即可.

比如我的lua.exe在 c:/lua/lua-5.1.2/bin/ 下面
我把logging里面全部的文件复制到 c:/lua/lua-5.1.2/bin/lua 下面.
然后运行: lua.exe

> require("logging")

OK!
可以使用 LuaLogging库了.
logger对象提供了一些的方法来记录日志,方法的 message 参数可以是任何Lua值.消息在记录的时候都会被转成一个String.
level参数取值是下列枚举中的一个即可:
logging.DEBUG
logging.INFO
logging.WARN
logging.ERROR
logging.FATAL


级别从上往下一次增加.


常用方法:

logger:log(level,message)

logger:debug(message)

...


例子:

require "logging"
local logger=logging.new(function(self,level,message)
print(level,message)
return true
end)

logger:setLevel(logging.WARN)
logger:log(logging.WARN,"WARN!!!")
require"logging.file"

local logger = logging.file("test%s.log", "%Y-%m-%d")
logger:info("logging.file test")
logger:debug("debugging...")
logger:error("error!")

print("File Logging OK")


输出:
WARN    WARN!!!
File Logging OK



生成日志文件 test2007-08-22.log:
08/22/07 00:41:34 INFO logging.file test
08/22/07 00:41:34 DEBUG debugging...
08/22/07 00:41:34 ERROR error!
08/22/07 00:42:34 INFO logging.file test
08/22/07 00:42:34 DEBUG debugging...
08/22/07 00:42:34 ERROR error!



好了,就介绍到这里了.

抱歉!评论已关闭.