6

我正在尝试将我的代码从 Jboss 5.1 更新到 Jboss 7,我发现 jboss-as-7.1 有自己的日志框架。我想知道在 log4j 上使用 jboss 自己的日志框架的主要区别和优势。我还需要一个如何在这个框架中使用 appender 的例子。

4

1 回答 1

6

JBoss 7 的内置日志模块基于Java Util Logging。使用它的主要(唯一?)原因是它已经集成,并且它不像人们希望推出自己的解决方案那样微不足道。如果您不想使用 JUL API,可以使用提供的 SLF API。

您可以在实例配置文件中配置附加程序,例如standalone.xml. 查找日志记录子系统配置:

<profile>
    <subsystem xmlns="urn:jboss:domain:logging:1.1">

它带有一个工作示例配置。请注意,通常所说的在配置中appender都有标题,例如或。*handlerconsole-handlerperiodic-rotating-file-handler

在这里,您可以找到有关日志记录配置的一些建议。

编辑:一些澄清。

换一种说法——没有真正的理由为什么你应该更喜欢使用内置的 jboss 日志而不是你选择的框架。唯一的问题是配置自己的框架需要额外的努力并且可能仍然失败(我花了一些时间弄清楚如何配置我的 JBoss 以使用 logback - 最后放弃了)。所以我没有资格告诉你如何保持你的 log4j 实现:)

您可以通过“本机”JUL API 或 SLF4J 桥使用 jboss 日志记录。两者都包含在/modules目录中,因此您不需要在运行时包含任何其他库。只需在您的代码中请求您的首选Logger,您就可以开始了:

单频:LoggerFactory.getLogger(...);

七月: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>
于 2012-11-12T08:36:19.503 回答