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

カスタマイズされた 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 デバッガコマンド

Show/hideコンソールへのメッセージのログ方法を示す例

以下の例は、コンソールへのメッセージのログ方法を示します。 この例では、デフォルトのログレベルを DEBUG に設定します。 この例のすべてのグはコンソールに出力されます。 ただし、エラーおよび警告のメッセージの出力はエラーストリームに送信され、デバッグおよび情報メッセーは出力ストリームに送信されます。

Example 11. コンソールへのメッセージのログ

# 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

Show/hideファイルへのメッセージのログ方法を示す例

以下の例は、ファイルへのメッセージのログ方法を示します。 この例では、デフォルトのログレベルを DEBUG に設定します。 ただし、一部のパッージは INFO レベルでのみログを書き込みます。 この例のすべてのログはファイルに出力されます。 ファイルが 10MB に達すると、.1 ファイル拡張子を追加して名前が変更され、元の名前で新しいファイルにログが引き続き書き込まれます。 これは何度も発生しますが、保存されるバックアップファイルは 10 個だけです。

Example 12. ファイルのメッセージのログ

# 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

Show/hideコンソールおよびファイルへのメッセージのログを組み合わせる方法を示す例

以下の例は、前の例の組み合わせを示しています。 この例では、デフォルトのログレベルを INFO に設定します。 この例のすべての INFO レベルのグはコンソールに出力されます。 ただし、メッセージの選択も出力を 2 つのファイルに送信します。

Example 13. ログメッセージの組み合わせ

# 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

Show/hide関連項目

Copyright © 2010-2012 ARM. All rights reserved.ARM DUI 0446IJ
Non-ConfidentialID051512