簡體   English   中英

在Wildfly 8.2中配置日志的正確方法

[英]Right way to configure the log in Wildfly 8.2

我在設置Wildfly-8.2.0中的日志時感到困惑。 最初我使用了自己的日志記錄系統,在WAR文件中內置了log4j.xml,一切都運行得很好。 但是,當我對日志配置進行任何更改時,我需要重新部署應用程序以使更改生效。 所以,我切換到了JBoss記錄器子系統。 以下是我對jboss-clistandalone.xml所做的配置

/subsystem=logging/custom-handler=myplatform:add(class=org.apache.log4j.RollingFileAppender, module=org.jboss.log4j.logmanager, formatter="%d{.yyyy-MM-dd} %-5p [%c] (%t) %s%E%n", properties={MaxFileSize=1024000,maxBackupIndex=20,file="${jboss.server.log.dir}/myplatform-debug.log"})

所以它在standalone.xml添加了以下配置

            <custom-handler name="example" class="org.apache.log4j.RollingFileAppender" module="org.jboss.log4j.logmanager">
                <formatter>
                    <pattern-formatter pattern="%d{.yyyy-MM-dd} %-5p [%c] (%t) %s%E%n"/>
                </formatter>
                <properties>
                    <property name="MaxFileSize" value="1024000"/>
                    <property name="maxBackupIndex" value="20"/>
                    <property name="file" value="${jboss.server.log.dir}/ott-platform-log.log"/>
                </properties>
            </custom-handler>

然后是記錄器

<logger category="com.mycompany.project.module1">
  <level name="DEBUG"/>
    <handlers>
      <handler name="myplatform"/>
    </handlers>
</logger>

一切正常,但我的所有應用程序日志也都記錄在服務器日志中。 而且,在控制台日志中也是如此。 我不希望這種情況發生,畢竟我已經為我的項目單獨配置了記錄器! 如何停止服務器登錄我的日志登錄到server.log? 或者有沒有辦法使用appender? 如果是這樣的話?

從“clean” standalone.xml我執行以下操作:

  1. 向控制台添加處理程序:
<profile>
    <subsystem xmlns="urn:jboss:domain:logging:2.0">
        ...
        <console-handler name="CONSOLE_HANDLER">
            <level name="DEBUG"/>
            <formatter>
                <named-formatter name="ECLIPSE_PATTERN"/>
            </formatter>
        </console-handler>
        ...
  1. 如果你想要一個日志文件:
<profile>
    <subsystem xmlns="urn:jboss:domain:logging:2.0">
       ...
       <periodic-rotating-file-handler name="MI_PROJECT_FILE_HANDLER" autoflush="true">
            <formatter>
                <named-formatter name="ECLIPSE_PATTERN"/>
            </formatter>
            <file relative-to="jboss.server.log.dir" path="myProject.log"/>
            <suffix value=".yyyy-MM-dd"/>
            <append value="true"/>
        </periodic-rotating-file-handler>
       ...
  1. 記錄器(與1和2相同) 注意到use-parent-handlers
<logger category="com.company.project" use-parent-handlers="false">
    <level name="DEBUG"/>
    <handlers>
        <handler name="MI_PROJECT_FILE_HANDLER"/>
        <handler name="CONSOLE_HANDLER"/>
    </handlers>
</logger>
  1. 我使用了自定義模式(相同級別):
<formatter name="ECLIPSE_PATTERN">
    <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
</formatter> 
  1. 確保這一點:
<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
    </handlers>
</root-logger>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM