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-portlet、document-action、およびservice-builder/jdbcは、特にモジュールロギングを活用している例です。
注:ログレベルの設定が表示されない場合(たとえば、ログレベルをERROR
に設定しても、WARN
メッセージが表示される場合など)は、ログ設定ファイル名のプレフィックスがモジュールのシンボル名と一致していることを確認してください。bndがインストールされている場合、コマンドbnd print [path-to-bundle]
からの出力には、モジュールのシンボル名が含まれています(コマンドラインにbndをインストールする手順はこちらです)。
モジュールのログ設定は以上です。必要な情報を出力する準備がすべて整いました。