当前位置: 首页 > 面试题库 >

在slf4j中设置运行时消息的日志级别

缪升
2023-03-14
问题内容

使用log4j时,该Logger.log(Priority p, Object message)方法可用,可用于在运行时确定的日志级别记录消息。我们正在利用这个事实和技巧将stderr重定向到特定日志级别的记录器。

slf4j没有log()我可以找到的通用方法。这是否意味着无法实现上述目的?


问题答案:

无法使用来执行此操作slf4j

我认为缺少此功能的原因是几乎无法构造一个Level类型,slf4j该类型可以有效地映射到Level幕墙后面所有可能的记录实现中使用的(或等效)类型。另外,设计人员认为您的用例太特殊了,无法证明支持它的开销。

关于ripper234的用例(单元测试),我认为务实的解决方案是修改单元测试,以便在运行单元测试时对slf4j幕后的日志系统背后的知识有所了解。



 类似资料:
  • 主要内容:参数化日志的优势,两个参数变体,多个参数变体正如本教程前面所讨论的,SLF4J提供了对参数化日志消息的支持。可以在消息中使用参数,并在稍后的同一语句中将值传递给它们。 语法 如下所示,需要在消息(String)中的任何位置使用占位符(),稍后可以在对象形式中为占位符传递值,并使用逗号分隔消息和值。 示例 以下示例演示使用SLF4J进行参数化日志记录(使用单个参数)。 执行时,上述程序生成以下输出 - 参数化日志的优势 在Java中,如果需要

  • 我在我的应用程序中使用Jetty http客户端。我也在使用带有logback的SLF4J。 如何将Jetty的总体日志记录级别设置为Info?

  • 问题内容: 我目前正在使用log4j的项目中。我正在运行一个测试用例(junit),并希望将日志级别设置为跟踪,以便我可以查看所有值是否正确。在项目中使用日志记录的类包含如下一行: 并使用类似这样的命令进行实际调试 我以前从未使用过log4j,有人知道我该如何仅为测试用例更改日志级别,最好仅通过在Eclipse的运行配置对话框中定义一个参数即可。 问题答案: 使用另一个配置文件 也许您可以指向另一

  • 我在spring应用程序中使用log4j2作为我的日志工具。我想为特定的库/包设置不同于根目录的日志级别。例如,我希望< code>org.springframework为INFO,而< code>com.google为WARN。我在< code>log4j2.properties中找到了这个: 我不明白是什么意思?我一直在log4j2文档中找到它,但没有解释那是什么或意味着什么。 如何为特定包添