ログ出力ライブラリ LuaLogging
2008/07/19
CGIライブラリをいじってるときは、自前のログ関数で、stderrに垂れ流していたんですが、やはり用意されたものを使うようにしようと思い、Keplerに含まれていたloggingのライブラリを調べてみました。LuaLogging というライブラリです。
http://www.keplerproject.org/lualogging/manual.html
これも、log4jをベースに設計されているそうです。(これもと書いたのは、common lispのテストツールが、JUnitを元にしていたことがあったためです)Javaの良いライブラリは、いろんなところに影響を与えているんですね。
サンプルコードやlogging.fileのソースを見て、動かすことができました。
require "logging"require "logging.file" log = logging.file('debug.log') log:setLevel(logging.DEBUG) log:debug('debugging....') log:error('oooooooops')
これで、debug.logに下のように出力される。
07/19/08 21:51:36 DEBUG debugging.... 07/19/08 21:51:36 ERROR oooooooops
簡単だ。これだけで、ログレベルを考慮したログ出力ができました。最初から使えばよかったです。
用意されたアペンダがあるので、ファイル以外にもログ出力することができます。
Appenders
The following appenders are included in the standard distribution.
* Console
* File
* SQL
* Socket
ソースを見ればわかるんですが、アペンダの実体は、だたのログ出力関数なので、超簡単に自前のアペンダを定義することができます。
Luaには、脈々とKISS(Keep it Simple, Stupid!)の精神が流れています。