JBoss EAP 6.4.4中的空日志文件(日志配置文件)

时间:2016-03-15 12:33:15

标签: java logging jboss

我将在一个JBoss EAP 6.4.4上部署3个应用程序/战争。我需要为每个应用程序分别使用日志文件。所以我尝试了以下步骤(as seen in this doku)

予。我将记录配置文件添加到MANIFEST.MF:

  

\ a.war \ META-INF \ MANIFEST.MF包含“Logging-Profile:aProfile”
  \ s.war \ META-INF \ MANIFEST.MF包含“Logging-Profile:sProfile”
  \ t.war \ META-INF \ MANIFEST.MF包含“Logging-Profile:tProfile”

II。我将以下日志记录子系统添加到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  (%X{LogContext})%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  (%X{LogContext})%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  (%X{LogContext})%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>

=&GT;所有3个日志文件都是在启动时创建的,但只有't.log'和控制台显示日志条目 - 'a.log'和's.log'保持为空。我尝试了几次修改(例如将s.war的Logging-Profile更改为tProfile等),最后只有't.log'按预期工作。

=&GT;我做错了什么?

(注意:a.war,s.war和t.war使用其他一些具有类似包名的内部项目/罐子,因此这里的记录器类别可能没有选择)

1 个答案:

答案 0 :(得分:0)

通过从WEB-INF / lib中删除log4j.jar(以及其他不必要的jar)来修复它

修复它的步骤:

  • 从项目中删除所有(手动添加的)Java构建路径条目&gt;属性&gt;部署大会
  • 项目菜单&gt;
  • 项目&gt; Maven&gt;禁用Maven Nature
  • 项目&gt;配置&gt;转换为Maven项目
  • 检查项目&gt; Java构建路径&gt;库包含Maven Dependencies
  • 项目菜单&gt;
  • 检查WEB-INF \ lib
  • 中是否没有log4j.jar