java – SLF4J日志级别作为参数
发布时间:2020-12-14 05:10:39 所属栏目:Java 来源:网络整理
导读:这个问题在这里已经有一个答案: Setting log level of message at runtime in slf4j11 我们正在寻求使用SLF4J,但我们发现一件事是你不能指定级别作为参数 Logger.log(Level.INFO,"messsage"); 你必须这样做 logger.info("message"); 这样可以防止通过一种方
这个问题在这里已经有一个答案:>
Setting log level of message at runtime in slf4j11
我们正在寻求使用SLF4J,但我们发现一件事是你不能指定级别作为参数 Logger.log(Level.INFO,"messsage"); 你必须这样做 logger.info("message"); 这样可以防止通过一种方法传递所有内容,因此您可以将其他属性粘贴到类中的所有日志消息中. public class Test { public Test(SomeObj obj) { log(Level.INFO,"message"); } public void anotherMethod() { log(Level.DEBUG,"another message"); } private void log(Level level,String message) { logger.log(level,message + obj.someString()); } } 有没有办法实现这个使用SLF4j? 解决方法
在slf4j调用周围编写一个包装器,并为六个日志级别创建自己的枚举.然后在包装器中,使用开关调用正确的slf4j调用.
void myLog(Level level,String message) { switch (level) { case FATAL: log.fatal(message); break; case ERROR: log.error(message); break; .... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |