如何在 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 服务器中创建 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 警告