項目
概要¶
SLF4J¶
SLF4J(Simple Logging Facade for Java)は様々なロギングフレームワークのインタフェースを提供します。これにより、ログを利用するアプリケーションは任意のロギングフレームワークを配置することが可能です。SLF4Jの詳細な情報については「SLF4JのWebサイト」を参照してください。intra-mart Accel Platform で利用しているライブラリのバージョン情報は以下の通りです。
iAP の バージョン バージョン jarファイル名 2013 Summer(Damask) 以前 1.6.6 slf4j-api-1.6.6.jar 2013 Autumn(Eden) から 2014 Winter(Iceberg) 以前 1.7.5 slf4j-api-1.7.5.jar 2015 Spring(Juno) から 2016 Summer(Nirvana) 以前 1.7.10 slf4j-api-1.7.10.jar 2016 Winter(Olga) 以降 1.7.21 slf4j-api-1.7.21.jar
Logback¶
LogbackはSLF4Jの実装ライブラリです。Logbackの詳細な情報については「LogbackのWebサイト」を参照してください。intra-mart Accel Platform で利用しているライブラリのバージョン情報は以下の通りです。
iAP の バージョン バージョン jarファイル名 2013 Summer(Damask) 以前 1.0.7 logback-core-1.0.7.jarlogback-classic-1.0.7.jar2013 Autumn(Eden) から 2014 Winter(Iceberg) 以前 1.0.13 logback-core-1.0.13.jarlogback-classic-1.0.13.jar2015 Spring(Juno) から 2016 Summer(Nirvana) 以前 1.1.2 logback-core-1.1.2.jarlogback-classic-1.1.2.jar2016 Winter(Olga) 以降 1.1.7 logback-core-1.1.7.jarlogback-classic-1.1.7.jar
ログ設定¶
intra-mart Accel Platform では、Webアプリケーション起動時に「Logback」に対してログの設定を反映します。ログの設定は %CONTEXT_PATH%/WEB-INF/conf/log ディレクトリ直下の設定ファイルを利用します。具体的には、 %CONTEXT_PATH%/WEB-INF/conf/log/im_logger.xml を基点として、%CONTEXT_PATH%/WEB-INF/conf/log 直下の拡張子が .xml であるファイルが統合された内容がログの設定として扱われます。注意
設定ファイルの退避を行う場合は、%CONTEXT_PATH%/WEB-INF/conf/log 直下に配置しないように注意してください。
im_logger.xml でのログ設定¶
im_logger.xml では以下のように <configuration> タグの中に設定を記述します。<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 省略 --> </configuration>im_logger.xml で可能な設定は主に以下の通りです。
種類 必須設定 複数設定 説明 appender ○ ○ ログをどの場所に、どのように、どのような形式で出力するのかを設定します。詳細については「Appender」を参照してください。root × × ロガー名による設定が何も行われいない場合に利用されるロガーの設定です。詳細については「ルートロガー」を参照してください。logger × ○ 特定のロガーに対してのどのように出力するかを設定します。詳細については「Logger」を参照してください。コラム
その他の利用可能な設定については「LogbackのWebサイト」を参照してください。
注意
im_logger.xml の移動や削除は行わないでください。intra-mart Accel Platform でのログ機能が正常に動作しなくなります。
im_logger.xml 以外でのログ設定¶
im_logger.xml 以外の設定ファイルは、以下のようなタグの中に設定を記述します。<?xml version="1.0" encoding="UTF-8"?> <included> <!-- 省略 --> </included>im_logger.xml 以外の設定ファイルで可能な設定は主に以下の通りです。
種類 必須設定 複数設定 説明 appender × ○ ログをどの場所に、どのように、どのような形式で出力するのかを設定します。詳細については「Appender」を参照してください。logger × ○ 特定のロガーに対してのどのように出力するか設定します。詳細については「Logger」を参照してください。コラム
その他の利用可能な設定については「LogbackのWebサイト」を参照してください。
プロパティ¶
ログ設定ファイルでは ${property_name} と指定することにより様々な設定値を利用可能です。利用可能な設定値は以下のとおりです。
- ログ設定ファイルの <property> タグで設定したプロパティ
- Javaのシステムプロパティ(java.lang.System#getProperty(String) で取得できる値)
- OSの環境変数
コラム
プロパティ名が重複した場合、上記の順番が低い方が優先されます。
ログ設定ファイルでプロパティの設定を行うには以下のように記述します。<?xml version="1.0" encoding="UTF-8"?> <configuration> <property name="name" value="value" /> </configuration>プロパティが存在しない場合は、プロパティ名に _IS_UNDEFINED という文字列が付与された値が利用されます。例)${name} を指定し、name のプロパティが存在しない場合。name_IS_UNDEFINED${property_name:-property_default} という形式で指定することでプロパティが存在しない場合に代替する文字列を設定可能です。例)${name:-unknown} を指定し、name のプロパティが存在しない場合。unknown
提供されているプロパティ¶
intra-mart Accel Platform で提供しているプロパティは以下の通りです。
プロパティ名 説明 im.log intra-mart Accel Platform でログを出力する基点とするディレクトリのパスが取得できます。この値はサーバコンテキスト設定のログファイルディレクトリで指定されている値が取得できます。詳細は設定ファイルリファレンスの「サーバコンテキスト設定」を参照してください。
業務処理からのログ出力¶
intra-mart Accel Platform の業務処理中にログを出力する方法については以下のドキュメントを参照してください。
- 「 SAStruts+S2JDBC プログラミングガイド 」-「 ログ 」
- 「 スクリプト開発モデル プログラミングガイド 」-「 ログ 」
- 「 TERASOLUNA Server Framework for Java (5.x) プログラミングガイド 」-「 ログ 」