2017-01-11 162 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)的日志级别。它是可以实现的以及如何?

回答