繁体   English   中英

如何使用log4j2和slf4j运行WildFly-8.x.

[英]How to run WildFly-8.x with log4j2 & slf4j

我喜欢用log4j2替换WildFly-8.x的标准日志记录机制。

我这样做的想法是将以下罐子添加为模块:

log4j-api-2.3.jar
log4j-core-2.3.jar

并添加一个module.xml以使服务器提供记录器。

由于我在我的应用程序(通过Maven构建)中使用slf4j ,我决定只是将以下内容添加到我的pom.xml以构建我的EAR文件

  <!-- versions are provided via private parent-pom -->
  <!-- slf4j-api -->
  <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- slf4j to log4j2, needed??? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-slf4j-impl</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this??  -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <scope>provided</scope>
  </dependency>
  <!-- log4j2 api, do I really need this?? -->
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <scope>provided</scope>
  </dependency>

所以,仍然存在一些问题:

1.)我的jboss-deployment-structure.xml是否需要其他依赖项,看起来像这样?

[...]
<ear-subdeployment-isolated>false</ear-subdeployment-isolated>
<deployment>
  <dependencies>
    [...]
    <!-- name taken from my introduced module.xml -->
    <module name="org.apache.logging.log4j2" slot="main" export="true" />
    [...]
  </dependencies>
</deployment>

2.)如何在我的standalone-*.xml配置log4j2 standalone-*.xml 我想<loggers/><handlers/>只适用于内置系统?

3.)我是否需要将上面的pom.xml片段指定到我记录某些东西的几个maven模块中(这几乎是java类所在的每个模块)?

还有一个“糖果”问题:4。)如何设置log4j2来压缩日志文件,就像使用log4j(1)-extras一样?

我希望这个链接可以帮助你,它包含了大多数AS的备用日志框架

并为您的问题4

如何设置log4j2来压缩日志文件,就像使用log4j(1)-extras一样?

你可以像下面这样配置它

filePattern="logs/app-%d{MM-dd-yyyy}.log.gz" 

如果你使用RollingFile appender

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM