如何在wildfly-8.2.0.Final中的自定义文件夹位置生成server.log

时间:2016-05-09 10:22:50

标签: java java-ee logging wildfly-8

我在 Wildfly-8.2.0.Final AS中遇到有关 server.log 文件生成的问题。

以下是 standalone-full-ha.xml 的日志记录子系统size-rotating-file-handler中使用的<subsystem xmlns="urn:jboss:domain:logging:2.0">定义。

<size-rotating-file-handler name="FILE" autoflush="false">
      <level name="DEBUG"/>
      <file relative-to="jboss.server.log.dir" path="server.log"/>
      <rotate-size value="500k"/>
      <max-backup-index value="5"/>
      <append value="true"/>
</size-rotating-file-handler>

以上工作正常,它会在 $ {WILDFLY_HOME} / standalone / log 文件夹中生成 server.log 。我想为 server.log 设置自定义位置,因此修改了路径属性以包含完整的自定义路径并删除 relative-to 属性,如下所示。

<file path="D:/wildfly-8.2.0.Final/standalone/log/server.log"/>

但是,通过上述更改, server.log 将在自定义位置生成,但面临以下问题:

  • 生成的日志语句没有日期。例如:

    12:16:11,800 INFO [org.jboss.as](MSC服务主题1-7)JBAS015899:WildFly 8.2.0.Final“Tweek”开始

  • 在日志文件中未观察到完整日志,例如,“服务器已启动...”将是最后一行,并且不会打印四分之一的日志语句。

请帮帮我。

于2016年5月10日编辑:添加以下配置。

<subsystem xmlns="urn:jboss:domain:logging:2.0">
        <add-logging-api-dependencies value="false"/>
        <use-deployment-logging-config value="true"/>
        <console-handler name="CONSOLE">
            <level name="INFO"/>
            <formatter>
                <named-formatter name="PATTERN"/>
            </formatter>
        </console-handler>
        <size-rotating-file-handler name="FILE" autoflush="false">
            <level name="DEBUG"/>
            <file path="${custom.path}/server.log"/>
            <rotate-size value="500k"/>
            <max-backup-index value="5"/>
            <append value="false"/>
            <formatter>
                <named-formatter name="PATTERN"/>
            </formatter>
        </size-rotating-file-handler>
        <logger category="com.arjuna">
            <level name="WARN"/>
        </logger>
        <logger category="org.apache.tomcat.util.modeler">
            <level name="WARN"/>
        </logger>
        <logger category="org.jboss.as.config">
            <level name="DEBUG"/>
        </logger>
        <logger category="sun.rmi">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb">
            <level name="WARN"/>
        </logger>
        <logger category="jacorb.config">
            <level name="ERROR"/>
        </logger>
        <root-logger>
            <level name="INFO"/>
            <handlers>
                <handler name="CONSOLE"/>
                <handler name="FILE"/>
            </handlers>
        </root-logger>
        <formatter name="PATTERN">
            <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
        <formatter name="COLOR-PATTERN">
            <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
    </subsystem>

1 个答案:

答案 0 :(得分:1)

似乎您没有指定模式(可能这就是为什么日期/时间不在日志中)。

<size-rotating-file-handler name="FILE" autoflush="false">
  <level name="DEBUG"/>
  <file path="D:/wildfly-8.2.0.Final/standalone/log/server.log"/>
  <rotate-size value="500k"/>
  <max-backup-index value="5"/>
  <append value="true"/>
  <formatter>
   <named-formatter name="PATTERN"/>
  </formatter>
</size-rotating-file-handler>

日期/时间的模式示例:

<formatter name="PATTERN">
  <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
</formatter>

您能提供完整的日志配置吗?也许&#34;服务器已启动......&#34;没有显示,因为你没有把文件处理程序放在正确的类别中。