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

时间:2017-04-14 06:19:39

标签: java logging jboss jboss7.x

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

有人可以建议您在jboss-7.0中按战争分隔日志文件所需的更改

2 个答案:

答案 0 :(得分:0)

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

<periodic-rotating-file-handler name="myapp-handler" autoflush="true">
  <formatter>
    <pattern-formatter pattern="%d{HH: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文件具有相同的包,则无法配置单独的日志文件。

答案 1 :(得分:0)

您可以尝试使用logging-profile。在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文件生成单独的日志记录。