Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > loggerライブラリ > Logger::Applicationクラス

class Logger::Application

クラスの継承リスト: Logger::Application < Logger::Severity < Object < Kernel

要約

ユーザ定義のアプリケーションにログ機能を簡単に追加することができます。

使用方法

  1. このクラスのサブクラスとしてユーザ定義のアプリケーションのクラスを定義します。
  2. ユーザ定義のクラスでメイン処理を行う run メソッドを定義します。
  3. そのクラスをインスタンス化して start メソッドを呼び出します。

例:

class FooApp < Application
  def initialize(foo_app, application_specific, arguments)
    super('FooApp') # Name of the application.
  end

  def run
    ...
    log(WARN, 'warning', 'my_method1')
    ...
    @log.error('my_method2') { 'Error!' }
    ...
  end
end

status = FooApp.new(....).start

注意

このクラスは 2.2.0 で gem ライブラリとして切り離されました。2.2.0 以降ではそちらを利用してください。

目次

特異メソッド
new
インスタンスメソッド
appname level= log log= logdev set_log start

特異メソッド

new(appname = nil) -> Logger::Application[permalink][rdoc]

このクラスを初期化します。

[PARAM] appname:
アプリケーション名を指定します。

インスタンスメソッド

appname -> String[permalink][rdoc]

アプリケーション名を取得します。

level=(level)[permalink][rdoc]

ログのログレベルをセットします。

[PARAM] level:
ログのログレベル。

[SEE_ALSO] Logger::Severity

log(severity, message = nil) -> true[permalink][rdoc]
log(severity, message = nil) { ... } -> true

メッセージをログに記録します。

ブロックを与えた場合はブロックを評価した返り値をメッセージとしてログに記録します。

[PARAM] severity:
ログレベル。Logger::Severity クラスで定義されている定数を指定します。 この値がレシーバーに設定されているレベルよりも低い場合、 メッセージは記録されません。
[PARAM] message:
ログに出力するメッセージを文字列か例外オブジェクトを指定します。 省略すると nil が用いられます。

[SEE_ALSO] Logger#add

log=(logdev)[permalink][rdoc]

ログの出力先をセットします。

[PARAM] logdev:
ログファイル名か IO オブジェクトを指定します。
logdev -> ()[permalink][rdoc]

このメソッドは使用されていません。

set_log(logdev, shift_age = 0, shift_size = 1024000) -> Integer[permalink][rdoc]

内部で使用する Logger のオブジェクトを初期化します。

[PARAM] logdev:
ログを書き込むファイル名か、 IO オブジェクト(STDOUT, STDERR など)を指定します。
[PARAM] shift_age:
ログファイルを保持する数か、ログファイルを切り替える頻度を指定します。 頻度には daily, weekly, monthly を文字列で指定することができます。 省略すると、ログの保存先を切り替えません。
[PARAM] shift_size:
shift_age を整数で指定した場合のみ有効です。 このサイズでログファイルを切り替えます。
[RETURN]
ログのログレベルを返します。
start -> ()[permalink][rdoc]

アプリケーションをスタートさせます。

[RETURN]
run メソッドの返値を返します。
[EXCEPTION] RuntimeError:
サブクラスで run メソッドを定義していない場合に発生します。