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