如何在 JBoss 7.0 中使用standalone.xml 分离应用程序日志

Posted

技术标签:

【中文标题】如何在 JBoss 7.0 中使用standalone.xml 分离应用程序日志【英文标题】:How to separate application Logs in JBoss 7.0 using standalone.xml 【发布时间】:2017-09-10 09:40:15 【问题描述】:

我正在使用 Jboss-7.0 并希望根据 War 文件分离应用程序日志,即我有 war1 和 war2,因此应该生成独立的日志文件,如 war1.log 和 war2.log。现有的日志记录配置在 standalone.xml 中。我已经阅读了 Jboss 给出的 Link,但他们给出的配置是在 jboss-log4j.xml 文件中,而不是standalone.xml 日志模块更改。

有人可以建议在 jboss-7.0 中为每个 War 分隔日志文件所需的更改

【问题讨论】:

您使用的是 JBoss AS 7 还是 JBoss EAP 7? 【参考方案1】:

要配置应用程序日志记录,您必须创建附加程序,它将根据包捕获应用程序类文件的日志记录。

<periodic-rotating-file-handler name="myapp-handler" autoflush="true">
  <formatter>
    <pattern-formatter pattern="%dHH:mm:ss,SSS %-5p [%c] (%t) %s%E%n"/>
  </formatter>
  <file relative-to="jboss.server.log.dir" path="myapp.log"/>
  <suffix value=".yyyy-MM-dd"/>
  <append value="true"/>
</periodic-rotating-file-handler>

<logger category="com.example.myapp" use-parent-handlers="false">
  <handlers>
    <handler name="myapp-handler"/>
  </handlers>
  <level name="DEBUG"/>
</logger>

如果两个war 文件具有相同的包,则无法配置单独的日志文件。

【讨论】:

Exactly Abhijit 这就是我有相同命名包的问题,​​我之前尝试过这个解决方案。根据战争名称,我必须分隔日志文件【参考方案2】:

您可以尝试使用日志记录配置文件。在standalone.xml 中定义日志配置文件如下:

<subsystem xmlns="urn:jboss:domain:logging:1.2">

<logging-profiles>
    <logging-profile name="myLoggingProfile">
        <file-handler name="myHandler">
            <level name="ALL"/>
            <file relative-to="jboss.server.log.dir" path="myapp.log"/>
        </file-handler>
        <root-logger>
            <handlers>
                <handler name="myHandler"/>
            </handlers>
        </root-logger>
    </logging-profile>
</logging-profiles>

在应用程序的 MANIFEST.MF 中定义日志配置文件的名称。

Logging-Profile: myLoggingProfile

为每个应用程序定义不同的日志记录配置文件,通过这种方法,您应该能够为每个 war 文件生成单独的日志记录。

【讨论】:

以上是关于如何在 JBoss 7.0 中使用standalone.xml 分离应用程序日志的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot jars 作为 JBoss EAP 7.0 中的自定义模块

JBoss EAP 7.0 检查启动

无法在 Jboss EAP 7.0 服务器中创建 oracle 数据源

迁移到 Jboss 7.0 AS 后 Firefox 和 IE 中的 ViewExpiredException

将基于 JSF 1.2 的 Web 应用程序部署到 JBoss EAP 7.0

JBoss EAP 7.0 java.lang.IllegalStateException: 未知标签! pos=3 poolCount = 20 警告