0
私はakkaシステムでslf4j
ロガーを実行しています。システムのメモリが不足している場合は、コンソールにOutOfMemoryError
が表示されます。ただし、これはログファイルには表示されません。これは、コンソールの上部から消えてしまう前に気付かなければならないので、これらのエラーを見つけにくいものにします。それらをログファイルにも表示させる方法はありますか?slf4jにOutOfMemoryErrorを記録するには
これはエラーです:
[error] (pool-21-thread-22) java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
....
そして、これは私がコンソールVSログファイルにまったく同じ出力を与えるために設定したいと思った私のlogback.xml
、次のとおりです。
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%X{akkaSource}] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>log/akka.log</file>
<append>false</append>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level [%X{akkaSource}] [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="slick" level="INFO">
</logger>
<logger name="myserver" level="DEBUG">
</logger>
<logger name="akka" level="DEBUG">
</logger>
<logger name="spray" level="DEBUG">
</logger>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
他のほとんどのエラーは、コンソールとログファイルの両方に表示されますが、OutOfMemoryError
では表示されません。ありがとう。 Scalatraで