NAME
Gungho::Log::Dispatch.ja - Gunghoログモジュール
SYNOPSIS
# in your Gungho config
log:
module: Dispatch
config:
logs:
- module: Screen
min_level: debug
name: stderr
stderr: 1
- module: File
min_level: info
filename: /path/tofilename
mode: append
# ... or somewhere in your code ..
use Gungho::Log::Dispatch;
my $log = Gungho::Log::Dispatch->new();
$log->setup($c, {
logs => [
{ module => 'Screen',
min_level => 'debug',
name => 'stderr',
stderr => 1
},
{ module => 'File',
min_level => 'info',
filename => '/path/to/filename'
mode => 'append'
}
]
});
DESCRIPTION
Gungho用ログモジュールです。Log::Dispatchを使ってフレキシブルなログを可能に します。
CONFIGURATION
log.module
項目にDispatchと指定し、log.config
項目に以下のように Log::Dispatchの小クラスの設定を記述してください:
log:
module: Dispatch
config:
logs:
- module: File
min_level: info
filename: /path/to/filename
name: logfile
Log::Dispatchクラスはmodule
項目で指定された値にLog::Dispatch::という文字列が 追加されたものが使用されます。module
以外の内容は全てそのクラスのコンストラクタ に渡されます。
log.config.logs
には複数のログ指定が可能です。リストに追加するだけでその分の Log::Dispatchオブジェクトが作成されます。
詳しい設定方法はLog::Dispatchを参照してください。
作成したログはGungho内で$c->logからアクセス可能です。使用する場合は 以下のようにするとよいでしょう:
$c->log->debug("This is a debug message");
$c->log->emergency("This is an emergency message");
METHODS
setup($c, \%config)
オブジェクトを初期化します。
debug
info
notice
warning
error
critical
alert
emergency
上記それぞれのログレベルに出力します。
CAVEATS
もしGunghoをマルチプロセス間で動作させていて、なおかつ同じログファイルを 指定したいような場合があった場合はLog::Dispatch::File::Lockedは使用しないで ください。
File::Lockedはflock() を使ってファイルをロックし続けるので最初にファイルに ロックを書けられたプロセスだけが動く結果となります。