2017-01-20 14 views
0

デフォルトでは、JettyはWARNよりも高いレベルのログを記録しません。これはOutOfMemoryエラーなどの致命的なエラーには不適切です。 (ほとんどの企業の監視チームは、WARNではなくログでエラーを探します)致命的なエラーの埋め込みJettyログレベルの変更

これらの致命的なエラーがERRORレベルで報告されるように、どのようにすればよいでしょうか?

答えて

0

ここでch.qos.logback.classic.turbo.TurboFilter

を使用してロギングを調整するlogbackを設定することが可能であることを私が発見したすべてのorg.eclipseためERRORにWARN変換スカラ座の例であります.jettyロガー:

import ch.qos.logback.classic.{Level, Logger} 
import ch.qos.logback.classic.turbo.TurboFilter 
import ch.qos.logback.core.spi.FilterReply 
import org.slf4j.{LoggerFactory, Marker} 

/** 
* Lift the log level of all WARN events to ERROR as Jetty will not 
* log anything above WARN level. 
*/ 
class JettyShoutyFilter extends TurboFilter { 
    val myLogger = LoggerFactory.getLogger(getClass) 

    override def decide(marker: Marker, logger: Logger, level: Level, format: String, params: Array[AnyRef], t: Throwable): FilterReply = { 
    if (isStarted && logger.getName.startsWith("org.eclipse.jetty") && level == Level.WARN && format != null) { 
     logger.error(marker, format, params) 
     FilterReply.DENY 
    } else FilterReply.NEUTRAL 
    } 
} 

そのため、あなたの設定にロガーを追加します。

<configuration> 
    <turboFilter class="JettyShoutyFilter"/> 
    ...