7.7 デバッガからのログメッセージの出力のカスタマイズ

log4j コンフィギュレーションファイルをカスタマイズして作成する方法を説明します。

手順

  1. 必須ログタイプの Appender インスタンスを作成します。以下のタイプがサポートされています。
    • ConsoleAppender
    • RollingFileAppender
  2. 必要に応じて、Threshold ログレベルを抑制します。
  3. Appender インスタンスをファイルに出力する場合は、Appender インスタンスのレイアウトを定義します。以下のレイアウトがサポートされています。
    PatternLayout
    テキスト形式
    HTMLLayout
    HTML 形式
  4. Appender インスタンスをファイルに出力する場合は、ファイルコンポーネントを定義します。以下のコンポーネントがサポートされています。
    File
    ファイル名
    MaxFileSize
    long 整数または文字列(10KB)。
    MaxBackupIndex
    使用するログファイルの最大数。デフォルトは 1 です。
  5. レイアウト PatternLayout を使用する場合は、追加の ConversionPattern コンポーネントを使用してメッセージの形式を拡張できます。以下のパターンがサポートされています。
    %c
    ログカテゴリ
    %C
    クラス名
    %d
    日付
    %F
    ファイル名
    %l
    呼び出し元の場所
    %L
    行番号
    %m
    ログメッセージ
    %M
    メソッド名
    %n
    行末文字
    %p
    ログレベル。アライメントの場合、文字数を指定することもできます(%-5p など)。
    %r
    経過時間(ミリ秒)
    %t
    スレッド名
  6. 必要に応じて、Appender インスタンスの name コンポーネントを定義します。
  7. rootLogger のログレベルを定義し、必須の Appender インスタンスに割り当てます。
  8. log4j コンフィギュレーションファイルをデバッガに渡す場合は、以下のコマンドを使用できます。
    • コマンドラインコンソールからデバッガを起動する場合は、--log_config=filename コマンドラインオプション
    • デバッガが既に実行されている場合は、log config filename デバッガコマンド

例 7-2 例

コンソールへのメッセージのログ方法を示す例
以下の例は、コンソールへのメッセージのログ方法を示します。この例では、デフォルトのログレベルを DEBUG に設定します。この例のすべてのログはコンソールに出力されます。ただし、エラーおよび警告のメッセージの出力はエラーストリームに送信され、デバッグおよび情報メッセージは出力ストリームに送信されます。
# logConsole を ConsoleAppender に設定 
log4j.appender.logConsole=org.apache.log4j.ConsoleAppender 
log4j.appender.logConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.logConsole.layout.ConversionPattern=%m%n 
log4j.appender.logConsole.name=Console # DEBUG レベルのすべてのログをコンソールに送信 
log4j.rootLogger=DEBUG, console
ファイルへのメッセージのログ方法を示す例
以下の例は、ファイルへのメッセージのログ方法を示します。この例では、デフォルトのログレベルを DEBUG に設定します。ただし、一部のパッケージは INFO レベルでのみログを書き込みます。この例のすべてのログはファイルに出力されます。ファイルが 10MB に達すると、.1 ファイル拡張子を追加して名前が変更され、元の名前で新しいファイルにログが引き続き書き込まれます。これは何度も発生しますが、保存されるバックアップファイルは 10 個だけです。
# logFile を RollingFileAppender に設定
log4j.appender.logFile=org.apache.log4j.RollingFileAppender
log4j.appender.logFile.File=output.log
log4j.appender.logFile.MaxFileSize=10MB
log4j.appender.logFile.MaxBackupIndex=10
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d %-5p %t %c - %m%n
# DEBUG レベルのすべてのログをファイルに送信:logFile 
log4j.rootLogger=DEBUG, logFile
# デバッグパッケージ内の INFO レベルのすべてのログをファイルに送信:logFile
log4j.logger.com.arm.debug.logging=INFO, logFile
コンソールおよびファイルへのメッセージのログを組み合わせる方法を示す例
以下の例は、前の例の組み合わせを示しています。この例では、デフォルトのログレベルを INFO に設定します。この例のすべての INFO レベルのログはコンソールに出力されます。ただし、メッセージの選択も出力を 2 つのファイルに送信します。
# logConsole を ConsoleAppender に設定
log4j.appender.logConsole=org.apache.log4j.ConsoleAppender
# しきい値より低いコンソールへのすべてのログを抑制 
log4j.appender.logConsole.Threshold=INFO
log4j.appender.logConsole.layout=org.apache.log4j.PatternLayout
log4j.appender.logConsole.layout.ConversionPattern=%m%n
log4j.appender.logConsole.name=Console
# logConnFile を RollingFileAppender に設定 
log4j.appender.logConnFile=org.apache.log4j.RollingFileAppender
# しきい値より低いファイルへのすべてのログを抑制 
log4j.appender.logConnFile.Threshold.DEBUG
log4j.appender.logConnFile.File=connection.log
log4j.appender.logConnFile.MaxFileSize=10MB
log4j.appender.logConnFile.MaxBackupIndex=10
log4j.appender.logConnFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logConnFile.layout.ConversionPattern=%d %-5p %t %c - %m%n
# logTAccessFile を RollingFileAppender に設定
log4j.appender.logTAccessFile=org.apache.log4j.RollingFileAppender
# しきい値より低いファイルへのすべてのログを抑制 
log4j.appender.logTAccessFile.Threshold.DEBUG
log4j.appender.logTAccessFile.File=target_acccess.log
log4j.appender.logTAccessFile.MaxFileSize=10MB
log4j.appender.logTAccessFile.MaxBackupIndex=10
log4j.appender.logTAccessFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logTAccessFile.layout.ConversionPattern=%d %-5p %t %c - %m%n
# すべての INFO ログをコンソールに送信 
log4j.rootLogger=INFO, logConsole
# 接続パッケージ内のすべての DEBUG ログをファイルに送信:logConnFile
log4j.logger.com.arm.debug.core.engine.connection=DEBUG, logConnFile
# ターゲットアクセスパッケージ内のすべての DEBUG ログをファイルに送信:logTAccessFile
log4j.logger.com.arm.debug.core.targetaccess.rvi=DEBUG, logTAccessFile
関連する概念
7.6 log4j コンフィギュレーションファイルについて
関連する参考文書
7.5 ログメッセージの出力の制御
関連情報
Apache ログサービスの Log4j
非機密扱いPDF file icon PDF 版ARM DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.