java - 使用 SLF4J 时如何动态选择消息的日志记录级别?

标签 java logging slf4j

使用 SLF4J 时如何动态选择日志消息级别?是否可以?我想避免编写类似的代码

String message = "message";
if (someCondition) {
    log.info(message);
} else if (someOtherCondition) {
    log.warn(message);
} // and potentially even more ifs

这样会更好(代码是编造的,这样的方法实际上并不存在)

String message = "message";
log.log(message, levelProvider::getLoggingLevel);

请注意这个问题与 setting a logging level of the entire logger 无关

最佳答案

我想你想使用Logger.atLevel(Level)获得 LoggingEventBuilder 。然后您可以调用log(String)关于这一点。就像,

logger.atLevel(levelProvider.getLoggingLevel()).log(message);

关于java - 使用 SLF4J 时如何动态选择消息的日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76989510/

相关文章:

java - ButtonTabComponent 在 JTabbedPane 中添加 AquaTabbedPaneCopyFromBasicUI$TabContainer

java - Android Studio : Layout hierarchy problems

c# - .NET 中是否有线程锁的任何低级别度量/日志记录?

java - Maven3 : replace transitive dependency of a direct dependency in dependency management

powershell - 通过 powershell 获取压缩的 TFS 2015 (vNext) 构建输出日志(就像构建后的下载链接一样)

python - 沉默记录器和打印到屏幕 - Python

java - HikariCP可以显示sql吗?

spring - 定制SLF4J记录仪

java - 当我尝试将 slf4j 包含在 OSGi 包中时出现错误

java - 使用springboot时如何在mybatis-config.xml中设置数据源?