問題
- Liferayで非同期ロギングを使用するために、Log4jをどのように設定できますか?
環境
- DXP 7.2
- DXP 7.3
- DXP 7.4
- 四半期ごとのリリース
解像度
DXP 7.2およびDXP 7.3
注:以下の解決策はカスタマイズが必要であり、チームの裁量によってのみ実施されるべきである。 Liferayサポートはカスタマイズの設計や実装を支援することはできません。
- 7.2と7.3では、log4j設定ファイルを編集することで、非同期ロギングを設定することができます。
-
ポータルの再起動後もログレベルが維持されるようにするための調整」の説明に従って、
portal-log4j-ext.xmlファイルを作成する。 - 次に、クラスの新しいアペンダーを定義するためにファイルを修正します。
クラスの新しいアペンダーを定義するようにファイルを修正します。を定義し、ルートアペンダーからそのアペンダーを参照するようにファイルを修正します:
<appender name="ASYNC" class="org.apache.log4j.AsyncAppender" />
...
<root>
...
<appender-ref ref="ASYNC" />
...
</root>
- より詳細な例については、添付のDXP 7.2
portal-log4j-ext.xmlを参照してください。
DXP 7.4と四半期ごとのリリース
注:Liferayサポートは特定のサードパーティ製品を推奨するものではありません。 Liferayが作成したものではない製品について提供された情報は、あくまで参考のためのものであり、これらの原則を実行するかどうかは、あなたのチームの裁量に委ねられます。
- 7.4以上では、log4jのバージョン2.xに移行しました。
- log4j 2.xでは、サードパーティのdisruptor.jarをデプロイして、システムプロパティですべてのロガーを非同期にするように設定できるAsyncLoggerにアクセスすることができます。
- 詳しい説明は、Log4Jの'Asynchronous Loggers for Low-Latency Logging'を参照。
追加情報
- log4jコンフィギュレーション・ファイルの編集については、ポータルの再起動後にログ・レベルが持続するように調整するを参照してください。
- アペンダーの使用方法の詳細については、AsyncAppenderに関するLog4jのドキュメントを参照してください。
- 非同期ロガーの設定方法については、Log4jの'Asynchronous Loggers for Low-Latency Logging'を参照してください。