私はlog4j2をログ、tomcat8、java8のバージョンに使用しています。 私はlog4j2.xmlを定期的にチェックするために "monitorInterval"属性を使用しました。 シャットダウン中にTomcatがメモリリークの問題に直面しています。このメモリリークの問題を解決するにはどうすればよいですか?log4j2スレッドのTomcatメモリリークの問題
以下はCatalinaのログである:
06 10月、2016 15:13:55.927 WARNING [ローカルホスト-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads Webアプリケーション[mywebapp]が[Log4j2-Log4j2Scheduled-1]という名前のスレッド を開始したように見えますが、停止に失敗しました。 これはメモリリークを引き起こす可能性が非常に高いです。スレッドのスタックトレース: sun.misc.Unsafe.park(ネイティブメソッド) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.awaitNanos (AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) いるjava.util。 concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) のjava .l ang.Thread.run(Thread.java:745)
ありがとうございます。 ..私は実際にロガーコンテキストがLog4jServletContextListenerが破壊された後、再びinitilisingされ、私のログを解析し
2016年10月22日13:
更新日49:36347 localhostを-startStop-2 DEBUG Log4jServletContextListenerがあることを保証しますLog4jは正常にシャットダウンします。 2016年10月22日13:49:実際には36382 localhostを-startStop-2 DEBUG開始 LoggerContext [名= bb4719、 [email protected]] ...
私のアプリケーションでは、web.xmlでSpring ContextLoaderListnerを使用しているため、Spring Listnerを破棄しながら内部的にログを使用する可能性があります。
ありがとうございました
カタリーナのプロパティーを貼り付けたり、log4jという行を貼り付けたりできますか? – bhantol
https://issues.apache.org/jira/browse/LOG4J2-1259 – bhantol
私はlog4j2-1259を調べましたが、結論を正しく得られませんでした。 – Reetika