加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Wildfly 8.2中配置日志的正确方法

发布时间:2020-12-14 05:32:39 所属栏目:Java 来源:网络整理
导读:我在设置Wildfly-8.2.0的日志时感到困惑.最初我使用了我自己的日志系统,在WAR文件中内置log4j.xml,这些都很好.但是,当我对日志配置进行任何更改时,我需要重新部署应用程序以使更改生效.所以,我切换到JBoss记录器子系统.以下是我从jboss-cli到standalone.xml
我在设置Wildfly-8.2.0的日志时感到困惑.最初我使用了我自己的日志系统,在WAR文件中内置log4j.xml,这些都很好.但是,当我对日志配置进行任何更改时,我需要重新部署应用程序以使更改生效.所以,我切换到JBoss记录器子系统.以下是我从jboss-cli到standalone.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中,我执行以下操作:

>向控制台添加一个处理程序:

<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>
        ...

>如果您希望日志文件:

<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和2相同的级别)注意到使用 – 父处理程序

<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>

>我使用了一个自定义模式(同级别):

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

>请确保:

<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
    </handlers>
</root-logger>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读