当前位置:  开发笔记 > 编程语言 > 正文

如何统一java堆栈中的日志记录格式

如何解决《如何统一java堆栈中的日志记录格式》经验,为你挑选了1个好方法。

使用Jetty Web服务器,从maven开始,包括iBatis,Spring,Jersey,以及其中的一小部分,我得到了一系列格式的日志记录输出.

有些人来自maven:

[INFO] [war:war]
[INFO] Exploding webapp...

有些人来自码头:

2009-03-25 21:01:27.781::INFO:  jetty-6.1.15
2009-03-25 21:01:28.218:/example:INFO:  Initializing Spring root WebApplicationContext

一些来自Spring:

INFO  ContextLoader - Root WebApplicationContext: initialization started (189)
INFO  XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml] (323)

有些人来自泽西岛:

Mar 25, 2009 9:01:29 PM com.sun.jersey.spi.spring.container.SpringComponentProviderFactory register

还有一些来自我的代码:

INFO  ExampleApp - [User@14ef239 ...stuff] (69)

我希望他们都使用标准的日志包(log4j,commons-logging,java-logging ......)

是否可能,以及将所有这些配置为使用相同格式的最简单方法是什么?

将它们以不同的格式留下有什么好处吗?

Miquel.. 5

使用logback库及其桥接器可以实现这一点.它基本上包括从类路径中删除任何log4j公共或类似的jar,坚持logback jar文件和为log4j和类似的桥接jar.Spring,jersey和maven将使用桥工厂实例化logger,而logger将使用logbak生成统一日志记录.

查看http://logback.qos.ch/和http://www.slf4j.org/legacy.html

关键是将其他日志实用程序与单个全局记录器链接起来的桥梁.



1> Miquel..:

使用logback库及其桥接器可以实现这一点.它基本上包括从类路径中删除任何log4j公共或类似的jar,坚持logback jar文件和为log4j和类似的桥接jar.Spring,jersey和maven将使用桥工厂实例化logger,而logger将使用logbak生成统一日志记录.

查看http://logback.qos.ch/和http://www.slf4j.org/legacy.html

关键是将其他日志实用程序与单个全局记录器链接起来的桥梁.


这是最好的方法,但这里的描述以错误的方式翻转.*SLF4J*库桥接java.util.logging,Jakarta Commons Logging,Log4J和SLF4J API,以便它们都映射到SLF4J API上的调用.然后,您可以使用其他*SLF4J*桥接库将这些调用映射到日志记录实现.我们直到最近才使用*Logback*日志记录实现,然后用java.util.logging实现替换了Logback(使用面向JUL的Sun Glassfish服务器的日志查看器可以更好地实现).所以我们现在仍然使用SLF4J,但不使用Logback.
推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有