我使用以下代码以编程方式配置我的日志配置:
public static void configureLoggers() {
ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
builder.setStatusLevel(Level.DEBUG);
builder.setConfigurationName("ConfigName");
AppenderComponentBuilder consoleAppenderBuilder = builder.newAppender("Stdout", "CONSOLE");
consoleAppenderBuilder.add(builder.newLayout("PatternLayout").addAttribute("pattern", "%m%n"));
builder.add(consoleAppenderBuilder);
RootLoggerComponentBuilder rootLoggerBuilder = builder.newRootLogger(LEVEL.DEBUG);
rootLoggerBuilder.add(builder.newAppenderRef("Stdout")).addAttribute("additivity", true);
builder.add(rootLoggerBuilder);
LoggerContext.getContext(false).start(builder.build());
}
我需要关闭项目中特定java包的日志记录;比如org.glassfish
。我该怎么做?
答案 0 :(得分:2)
假设org.glassfish记录器使用类名作为记录器名称获取记录器,那么您只需要使用&#34; org.glassfish&#34;添加另一个记录器到您的配置中。作为记录器名称,然后将其设置为您希望它过滤的任何级别。如果你没有指定AppenderRef并且它被设置为可加性&#34; true&#34; (默认值)然后事件将自动转到根记录器的追加器。
答案 1 :(得分:0)
找到它:
builder.add(builder.newLogger("org.glassfish", Level.OFF));