モジュールロギングの調整

Liferay DXPはLog4jロギングサービスを使用します。モジュールクラスとクラス階層のロギングを設定する方法は以下のとおりです。

  • Liferay DXPのUIログレベル
  • [anyModule]/src/main/resources/META-INF/module-log4j.xmlファイルで複数のモジュールにLog4jを構成する。
  • [Liferay Home]/osgi/log4j/[symbolicNameOfBundle]-log4j-ext.xmlファイルで特定のモジュールにLog4jを構成する。
  • /META-INF/module-log4j-ext.xmlファイルでOSGiフラグメントホストモジュールにLog4jを構成する。

Log4j XML構成の例を次に示します。

<?xml version="1.0"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<category name="org.foo">
<priority value="DEBUG" />
</category>
</log4j:configuration>

category要素を使用して、メッセージを記録する各クラスまたはクラス階層を指定します。 name属性をそのクラス名またはルートパッケージに設定します。サンプルカテゴリでは、パッケージorg.fooから始まるクラス階層のロギングを設定しています。DEBUGログレベル以上のログメッセージは、org.fooのクラスおよびorg.fooで始まるパッケージ内のクラスに対して出力されます。

各カテゴリのpriority要素を必要なログレベル(優先度)に設定します。

  • ALL
  • DEBUG
  • ERROR
  • FATAL
  • INFO
  • OFF
  • TRACE
  • WARN

ログメッセージは、[Liferay_Home]/logsのLiferayログファイルに出力されます。

いくつかのLiferayサンプルプロジェクトでモジュールロギングの例を確認できます。たとえば、サンプルaction-command-portletdocument-action、およびservice-builder/jdbcは、特にモジュールロギングを活用している例です。

注:ログレベルの設定が表示されない場合(たとえば、ログレベルをERRORに設定しても、WARNメッセージが表示される場合など)は、ログ設定ファイル名のプレフィックスがモジュールのシンボル名と一致していることを確認してください。bndがインストールされている場合、コマンドbnd print [path-to-bundle]からの出力には、モジュールのシンボル名が含まれています(コマンドラインにbndをインストールする手順はこちらです)。

モジュールのログ設定は以上です。必要な情報を出力する準備がすべて整いました。

関連トピック

Implementing Logging

« JNDIデータソースへの接続ロギングの実装 »
この記事は役に立ちましたか?
1人中0人がこの記事が役に立ったと言っています