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() を使ってファイルをロックし続けるので最初にファイルに ロックを書けられたプロセスだけが動く結果となります。

SEE ALSO

Log::Dispatch