我在我的应用程序中使用SLF4J和LogBack。我使用了几个也使用SLF4J的第三方库。为了隐藏他们的日志,我将根日志级别设置为“WARN”。但是,对于我自己的记录器,我想在日志输出中显示所有内容(无论消息级别如何)。这是我目前的配置:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%level] %date{YYYY-MM-dd HH:mm:ss} [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<!-- For all loggers, use WARN as minimum level to avoid log overflow -->
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
<!-- For the specific "com.example.MyLogger.java", use log level DEBUG -->
<logger name="MyLogger" level="DEBUG">
<appender-ref ref="STDOUT" />
</logger>
<consolePlugin />
</configuration>
不幸的是,上面显示的配置无法按预期为我工作。我只收到来自“MyLogger”类的消息,如果它们的日志级别为WARN或更高。
总结一下我想要的:
这可能吗?我该怎么做?
谢谢,
艾伦
编辑:经过更多的尝试,我自己找到了一个解决方案。以下是logback.xml:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%level] %date{YYYY-MM-dd HH:mm:ss} [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<logger name="com.example" level="ALL">
<appender-ref ref="STDOUT" />
</logger>
<root level="WARN">
<appender-ref ref="STDOUT" />
</root>
<consolePlugin />
</configuration>
注意,第一个记录器没有对具体的记录器类进行限制,而是对限定类名的前缀进行限制。所以一切都来自com.example。*将被记录。由于我的应用程序中有一个特定的记录器类,因此结果与预期相同。
你应该提到你想要改变日志级别的包,而不仅仅是类
<logger name="com.example.MyLogger" level="DEBUG" />
请参阅日志文档
每当我部署一个外部化配置有错误的生产应用程序时,我都会在Tomcat日志中收到以下消息: 显然,外部化的配置是在log4j被正确初始化之前处理的,因此没有附加程序可以接受来自的消息。 有没有办法预先初始化log4j,以便在标准Grails log4j初始化发生之前捕获这些消息?
问题内容: 如何配置OpenEJB日志记录格式?这就是我现在在日志中看到的内容: 我想禁用消息,并更改其他消息的格式。中的更改无效。 问题答案: 这是我为使事情正常运行所做的工作: 现在工作正常。这是我的: 这是: 现在,由于大卫的支持,我可以在测试期间微调OpenEJB的日志记录:)
我想按照这里的描述设置用于日志记录的Jetty-http://www.eclipse.org/jetty/documentation/current/configuring-jetty-request-logs.html 但上线过程以错误结束: 我的码头网。WEB-INF中的xml具有以下配置: 我做错了什么? 我用下一个命令编译并运行WAR文件:
我最近接到的任务是开始构建一个新的Spring 3 MVC项目(在这方面我是新手)。在开普勒设置了大部分POC项目后,我有: 一个原型Web应用程序(HelloWorld样式),可以部署并在(外部)Tomcat7中工作。 已配置日志并报告给控制台: 但是当我进入我的代码使用类方法时(我尝试了和两种风格),Eclipse无法识别Logger实例中的方法: 键入 后 Eclipse 代码助手显示以下选
Webpack开发服务器代理配置留档: https://webpack.js.org/configuration/dev-server/#devserver-代理 表示它使用http代理中间件: https://github.com/chimurai/http-proxy-middleware#http-代理事件 使用上述链接中记录的功能,我可以执行以下操作: 我的问题是,尽管其他一切都很好——我
我刚刚在我的应用程序中实现了日志记录,我想知道是否有一种方法来检查日志记录程序是否为空。 我想到的是在我的脚本中设置两个处理程序: 一个用于带有级别的控制台 一个用于级别为的文件 在脚本的末尾,我需要检查logger是否不为空。这意味着在运行期间,记录了一些的消息,在这种情况下,我希望通过将调试级别的日志文件发送到我的邮箱。 这种检查在脚本本身中是否可能,而不需要shell重定向到文件?