2017-01-20 1 views
0

기본적으로 Jetty는 OutOfMemory 오류와 같은 치명적인 오류에는 적합하지 않은 WARN보다 높은 수준의 항목은 로깅하지 않습니다. (대부분의 엔터프라이즈 운영자 모니터링 팀은 WARN이 아닌 로그에서 오류를 찾습니다.)치명적인 오류에 대한 내장 된 Jetty 로그 수준 변경

이러한 심각한 오류가 ERROR 수준에서보고되도록하려면 어떻게해야합니까?

답변

0

I는 변환 스칼라 예는 모두 org.eclipse 대한 오류 WARN 여기 ch.qos.logback.classic.turbo.TurboFilter

를 사용하여 기록을 조정 logback를 구성 할 수 있다는 발견 .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"/> 
    ... 
관련 문제