作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我遇到了一个奇怪的问题。我有一个曾经使用 Log4j 的类,我可以这样做:
LOGGER.log(Level.SEVERE, "This is a message");
我会得到这样的输出:
SEVERE: This is a message
为了与应用程序的其余部分保持一致,我将其替换为 SLF4J 记录器:
LOGGER.error("This is a message.");
但现在它在 INFO 级别记录:
INFO: 2012-01-23 16:50:43,306 [http-thread-pool-8080(3)] ERROR com.mycompany.MyClass - This is a message
我原以为这是在 ERROR 级别记录的(SLF4J 似乎没有任何级别高于该级别)。
知道发生了什么事吗?这是默认值吗?该应用程序相当复杂,因此如果在某处更改它我不会感到惊讶,但我在哪里可以找到它来将其更改回来?
我正在使用 Glassfish,以防可能相关。
最佳答案
您需要让您的 SLF4J 使用 Java Util Logging 后端。这就是 Glassfish 内部使用的内容。因为它没有使用它,所以它会转储到控制台,并且 GF 将控制台上的所有内容报告为 INFO。
所以连接 JUL 适配器,你应该一切顺利。
关于java - SLF4J 在信息级别记录错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8975653/
我是一名优秀的程序员,十分优秀!