下面是我使用的一些代码:
LoggerFactory loggerr = new LoggerFactory("myLoggerName","","");
logger.removeAllAppenders();
ConsoleAppender caWarn = new ConsoleAppender();
caWarn.setLayout(layout);
caWarn.setName("warnconsole");
caWarn.setThreshold(Level.INFO);
caWarn.activateOptions();
logger.addAppender(caWarn);
loggerr.info("infooo");
loggerr.warn("warning");
如何只打印信息日志?
所以就像@fildor所说的,我通过使用附加过滤器来解决这个问题。
筛选器允许三个选项LevelMin、LevelMax和acceptonmatch。
并且我将每个附加程序限制在我想要的级别上,也许很乏味,但仍然是我找到的以编程方式完成的唯一响应和解决方案
ConsoleAppender caInfo = new ConsoleAppender();
caInfo.setName("infoConsole");
caInfo.setThreshold(Level.DEBUG);
layout.setConversionPattern("%-5p %d [%t] %c %x - %m%n");
caInfo.setLayout(layout);
LevelRangeFilter lrf = new LevelRangeFilter();
lrf.setLevelMax(Level.DEBUG);
lrf.setLevelMin(Level.DEBUG);
caInfo.addFilter(lrf);
caInfo.activateOptions();
logger.addAppender(caInfo);
问题内容: 我的log4j.properties文件- 我想在stdout上甚至显示DEBUG和TRACE消息,所以我更改了以下行 但是,当我在Tomcat控制台上查看日志回显时,我看不到任何变化,我仍然只看到INFO,WARN …消息。 问题答案: 好了,即使您将根记录器的名称设为TRACE,您的(指向INFO)也将覆盖petascope。*软件包的默认根记录器的TRACE,这就是您看不到任何D
我试图将对Swagger用户界面(UI)的访问限制为特定角色(例如,Swagger API用户、系统管理员用户等) 我在这个SO问题中尝试了答案--限制对Swagger UI的访问 我想我在等401的未经授权的回复。我对昂首阔步是完全陌生的,所以任何建议都很感激!
问题内容: 我使用log4j,并希望将某些Logger的输出路由到特定文件。 我已经有多个附加器。现在,为了简化调试,我想告诉log4j,应该将特定类(例如foo.bar.Baz)生成的输出写入特定的日志文件。 能做到吗? 问题答案: 一个例子:
我在Spring做这样的静态变量。 我保存在服务层。 保存后,我在自定义appender中使用了它。(https://www.baeldung.com/log4j2-custom-appender) 但是,当执行appender的append()方法时,不返回任何内容(大小为0)。(A.getMap()在服务层中正确返回。)为什么静态值不同?。。
我正在尝试将log4j升级到log4j2。我试图升级的特定代码行是: 静态字段在新的中不再可用。相反,似乎使用了静态方法来访问优先级int值,可以将指定为。 但是,此方法还需要指定。在调用时,如何知道要指定哪个? 旧优先级:https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/priority.html 新优先级:https:/
主要内容:Log4j Appender Properties配置Log4j 提供 Appender 对象,主要负责将日志消息打印到不同的目的地,例如控制台、文件、NT 事件日志、Swing 组件、JMS、远程 UNIX 系统日志守护进程、Socket套接字等。 每个 Appender 对象都有与其相关的不同属性,这些属性指定了该对象的行为。 属性 描述 layout Appender 使用 Layout 对象和与它们关联的转换模式来格式化日志信息。 targe