当前位置: 首页 > 知识库问答 >
问题:

如何轻松地在slf4j中设置运行时的日志级别?

楚乐逸
2023-03-14

相关:

共有1个答案

孙承弼
2023-03-14

我是这样做的,但还有其他的:

 String tmpName = "newLogConfig.xml"
    try (InputStream defaultIs = Log4jReconfigurator.class.getResourceAsStream()) {
      logger.warn("Using log4j configuration " + tmpName);
      new DOMConfigurator().doConfigure(is, LogManager.getLoggerRepository());
    } catch (IOException e) {
      logger.error("Failed to reconfigure log configuration", e);
    }

我提供了预定义的日志模板,这允许您在运行时加载它们。

 类似资料:
  • 问题内容: 使用log4j时,该方法可用,可用于在运行时确定的日志级别记录消息。我们正在利用这个事实和技巧将stderr重定向到特定日志级别的记录器。 slf4j没有我可以找到的通用方法。这是否意味着无法实现上述目的? 问题答案: 无法使用来执行此操作。 我认为缺少此功能的原因是几乎无法构造一个类型,该类型可以有效地映射到幕墙后面所有可能的记录实现中使用的(或等效)类型。另外,设计人员认为您的用例

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

  • 在我的Java应用程序中,我使用SLF4J+Logback进行日志记录。我在开发环境中使用调试级日志记录,在生产环境中使用错误级日志记录。但是有一些消息我无论如何都想要记录下来,无论日志级别如何(类似于,但使用的是logger)。 有什么切实可行的方法可以实现这一点吗?我可以使用error或更低的级别,但我想做的是给出一些信息,所以在语义上是错误的,它不是错误。 我可以在我的中为我的类定义另一个记

  • 我已经使用SLF4j作为日志框架,由log4j支持。我的问题是,我正在寻找一种在运行时更改记录器日志记录级别的方法。 我知道slf4j不允许通过自己的API直接进行此操作,因此,我必须直接访问日志提供程序。就个人而言,我发现这是slf4j中的一个巨大缺陷。所以现在我的问题是,如何通过slf4j以编程方式确定我使用的是哪种提供者?使用slf4j的最大目的是让您变得与提供商无关-您可以轻松地在您喜欢的

  • 使用log4j1,我能够控制单个日志记录程序级别,但属性语句似乎不能使用log4j2。我将rootLogger级别设置为DEBUG,并希望通过commons-logging抑制来自authorize.NET的大量调试日志。我正在尝试设置级别,以从http头和有线日志发出警告。 下面是详细配置记录器的log4j文档(参见“配置log4j”) 这是一个示例日志输出: 这是我当前的log4j2.prop

  • 我想更改我的Quarkus应用程序的日志记录级别。 如何从配置文件或运行时执行此操作?