JBoss EAP 6.4.4 中的空日志文件(日志配置文件)
Posted
技术标签:
【中文标题】JBoss EAP 6.4.4 中的空日志文件(日志配置文件)【英文标题】:Empty Log-Files in JBoss EAP 6.4.4 (Logging-Profiles) 【发布时间】:2016-06-30 21:43:12 【问题描述】:我有 3 个应用程序/战争将部署在一个 JBoss EAP 6.4.4 上。我需要为每个应用程序单独的日志文件。所以我尝试了以下步骤(as seen in this doku):
我。我在 MANIFEST.MF 中添加了日志记录配置文件:
\a.war\META-INF\MANIFEST.MF 包含“日志记录配置文件:aProfile” \s.war\META-INF\MANIFEST.MF 包含“日志记录配置文件:sProfile” \t.war\META-INF\MANIFEST.MF 包含 "Logging-Profile: tProfile"
二。我将以下日志记录子系统添加到standalone.xml
<subsystem xmlns="urn:jboss:domain:logging:1.5">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<!-- ... -->
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
</handlers>
</root-logger>
<logging-profiles>
<logging-profile name="aProfile">
<periodic-rotating-file-handler name="FILE" autoflush="true">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d %-5p [%c] %m (%XLogContext)%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="a.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="FILE"/>
</handlers>
</root-logger>
</logging-profile>
<logging-profile name="sProfile">
<periodic-rotating-file-handler name="FILE" autoflush="true">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d %-5p [%c] %m (%XLogContext)%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="s.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="FILE"/>
</handlers>
</root-logger>
</logging-profile>
<logging-profile name="tProfile">
<periodic-rotating-file-handler name="FILE" autoflush="true">
<level name="DEBUG"/>
<formatter>
<pattern-formatter pattern="%d %-5p [%c] %m (%XLogContext)%n"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="t.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="FILE"/>
</handlers>
</root-logger>
</logging-profile>
</logging-profiles>
</subsystem>
=> 所有 3 个日志文件都是在启动时创建的,但只有 't.log' 和控制台显示日志条目 - 'a.log' 和 's.log' 保持为空。我尝试了一些修改(例如将 s.war 的 Logging-Profile 更改为 tProfile 等),最后只有 't.log' 可以按预期工作。
=> 我做错了什么?
(注意:a.war、s.war 和 t.war 使用其他一些具有相似包名的内部项目/jar,因此这里可能没有记录器类别)
【问题讨论】:
【参考方案1】:通过从 WEB-INF/lib 中删除 log4j.jar(和其他不必要的 jar)来修复它
修复步骤:
从“项目”>“属性”>“部署程序集”中删除所有(手动添加的)Java 构建路径条目 项目-菜单>清理 项目 > Maven > 禁用 Maven Nature 项目 > 配置 > 转换为 Maven 项目 检查项目 > Java 构建路径 > 库是否包含 Maven 依赖项 项目-菜单>清理 检查WEB-INF\lib中没有log4j.jar【讨论】:
以上是关于JBoss EAP 6.4.4 中的空日志文件(日志配置文件)的主要内容,如果未能解决你的问题,请参考以下文章
Jboss EAP 6.2 log4j.properties 不记录输出但创建日志文件
在 JBoss EAP 7 访问日志上执行每小时 logrotate
在 DHCP 服务器 Linux 上启动 Jboss EAP 和 UnknownHostException