2017-01-11 66 views
1

我需要實現基於請求的日誌記錄。 基於頭 - 日誌級別標頭。需要執行RequestBasedLogging

在我的代碼中,我使用JAX-RS並實現了ContainerRequestFilter。

@Override 
public void filter(final ContainerRequestContext context) throws IOException { 

    String log_level = context.getHeaderString("log-level-header"); 
    //translate to actual log level 
    Logger root = (Logger)LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME); 
    root.setLevel(logLevelToSet); 
} 

我正在使用Logback和slf4j API。 問題是,我將日誌級別設置爲單例RootLogger,因此最終會修改跨應用程序的日誌級別。

相反,我打算改變特定線程(RequestBasedLogging)的日誌級別。它是可以實現的以及如何?

回答