Java 如何在slf4j中禁用方法调用日志记录?
请看一看这个例子:Java 如何在slf4j中禁用方法调用日志记录?,java,slf4j,Java,Slf4j,请看一看这个例子: import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Test { public static void main(String[] args) { Logger log = LoggerFactory.getLogger(Test.class); log.info("Hello World"); } } 程序生成以下输出: 2011-11-01 13
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Test {
public static void main(String[] args) {
Logger log = LoggerFactory.getLogger(Test.class);
log.info("Hello World");
}
}
程序生成以下输出:
2011-11-01 13:06:05 Test main
INFO: Hello World
如何摆脱第一条线?如何将记录器设置为不显示方法调用
slf4j在我的应用程序中使用jdk14。此外,我有两个处理程序,因此如果有一种方法可以仅为一个处理程序禁用方法调用日志记录,那就太好了。这两行都是通过调用
log.info
生成的。记录器实现默认格式似乎会生成换行符。“方法项”本身决不会产生任何输出
明确地说:如果你登录两次
log.info("Hello World1");
log.info("Hello World2");
我预计这一产出:
2011-11-01 13:06:05 Test main
INFO: Hello World1
2011-11-01 13:06:05 Test main
INFO: Hello World2
哦,这里描述了为JDK设置Java Util日志的一般方法:
您必须查看“格式化程序”部分并实现自己的格式化程序(AFAIK)。或者只需在slf4j后面使用一个可用的日志实现,如logback或log4j。我实现了自己的格式化程序,谢谢您的建议。不管怎么说,你建议从jdk切换到logback或log4j吗?@Radek那么,没有代码库、与其他框架不兼容、只包含两个输出格式化程序的日志实现的价值是什么,它甚至不允许指定常见的输出格式,不提供接口分离,而且配置和初始化非常难看。我想你明白了。