我正在尝试将我的代码从Jboss 5.1更新到Jboss 7,我发现jboss-as-7.1有自己的日志框架。我想知道在log4j上使用jboss自己的日志框架的主要区别和优点。我还需要一个如何在此框架中使用appender的示例。
答案 0 :(得分:5)
JBoss 7的内置日志记录模块基于Java Util Logging。使用它的主要(唯一?)原因是它已经集成,并且它不像人们希望推出自己的解决方案那样微不足道。如果您不想使用JUL API,则可以使用提供的SLF API。
您可以在standalone.xml
等实例配置文件中配置appender。查找日志子系统配置:
<profile>
<subsystem xmlns="urn:jboss:domain:logging:1.1">
它带有一个工作示例配置。请注意,通常称为appender
的内容在配置中标注为*handler
,例如console-handler
或periodic-rotating-file-handler
。
Here您可以找到有关日志配置的一些建议。
编辑:一些澄清。
换句话说 - 没有真正的理由为什么你更喜欢在你选择的框架上使用内置的jboss日志记录。唯一的事情是配置你自己的框架需要额外的努力,可能仍然失败(我花了一些时间弄清楚如何配置我的JBoss使用logback - 最后放弃)。所以我没有资格告诉你如何保持你的log4j实现:)
您可以通过“本机”JUL API或SLF4J桥接器使用jboss日志记录。两者都包含在/modules
目录中,因此您不需要在运行时包含任何addidtional库。只需在您的代码中请求您首选的Logger
,就可以了:
SLF:LoggerFactory.getLogger(...);
JUL:Logger.getLogger(...);
为了从JUL切换到SLF,我唯一需要做的就是为编译代码提供SLF API - 这是maven配置:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
<scope>provided</scope>
</dependency>