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

如何在每个线程的基础上动态地使用slf4j/logback更改日志级别

广晔
2023-03-14

我有一个应用程序在tomcat6 servlet容器中运行,使用slf4j和log4j,尽管切换到logback是迫在眉睫的。

应用程序大量使用hibernate,目前我们需要打开hibernate SQL日志记录。

这可行吗?

共有1个答案

澹台俊达
2023-03-14

也许您可以实现一个过滤器,它忽略来自特定线程的事件。正如您所说,您可能可以使用MDC标识源线程

 类似资料:
  • 我有一个多线程Java应用程序,每个线程都是一个扩展基类的类。其中一个线程偶尔会给基类中的一个方法大量机器生成的数据,而其他线程只给出少量的人类类型数据。我想在比机器数据更高的日志级别上记录这些人类类型的消息,但是由于基类是所有线程的一部分,我无法在代码中区分出来。 一种解决方案是通知扩展类中的基类在不同的级别上登录,但是我必须将这些知识硬编码到应用程序中,这很难看。 我想做的是通过我的logba

  • 我最近将应用程序从log4j更改为logback/slf4j。一切都工作得很好,但我想实现一些具体的东西。 我正在开发的应用程序是一个web应用程序。在我们的生产环境中,日志级别是on info。不时有票进来让我们的服务团队处理。如果我们的服务团队在复制票据时,他们可以将日志级别放在跟踪上,只用于他们的测试请求,那就太好了。这样,日志文件就不会随着当时所有其他请求的到来而被修改。 我们已经使用标头

  • 我怎么能那样做 直接使用JDK日志记录(我看到可以使用ResourceBundle,但我没有设法使其工作,而且我也不知道该文件中的内容) 使用SLF4 facade(我想这将意味着调整SLF4J的函数,它是我用来获取记录器的函数)

  • 之所以使用Logback,是因为我们需要一些log4j没有提供的附加程序。 要求:对于日志级错误,我们希望使用自定义模式,它将根据堆栈跟踪添加信息。

  • 在阅读了上的留档后,我知道我可以使用这样的代码来执行简单的日志记录: 然而,我意识到我不知道如何在每个记录器的基础上更改日志消息的格式,因为是一个模块级函数。此代码用于创建具有不同级别、名称等的不同记录器。但是有没有一种方法可以在每个记录器的基础上以类似于的方式更改这些日志消息的格式?

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