简体   繁体   English

Eclipse,Spring,Wildfly log4j日志记录

[英]Eclipse, Spring, Wildfly log4j logging

I am running Spring framework 3.2.2.RELEASE on WildFly 8.0. 我在WildFly 8.0上运行Spring框架3.2.2.RELEASE。 I am trying to get logging to work. 我正在尝试登录工作。 I have tried reading several tutorials, but, can not seem to get any output to the console or log. 我曾尝试阅读几个教程,但是,似乎无法获得任何输出到控制台或日志。 I am looking at the console in Eclipse, and the log at wildfly/standalone/log/server.log. 我正在查看Eclipse中的控制台,以及wildfly / standalone / log / server.log中的日志。 Any help getting logging going is appreciated. 任何帮助记录日志的人都表示赞赏。

Here are some pieces of interesting code: 以下是一些有趣的代码:

src/main/resources/log4j.xml: SRC /主/资源/的log4j.xml:

<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p: %c - %m%n" />
    </layout>
</appender>

<!-- Application Loggers -->
<logger name="com.myCompany.myPackage">
    <level value="info" />
</logger>
    <!-- 3rdparty Loggers 
         omitted
    -->
<!-- Root Logger -->
<root>
    <priority value="warn" />
    <appender-ref ref="console" />
</root>

wildfly/standalone/configuration/standalone.xml: wildfly /独立/配置/ standalone.xml:

        <subsystem xmlns="urn:jboss:domain:logging:2.0">
            <console-handler name="CONSOLE">
                <level name="INFO"/>
                <formatter>
                    <named-formatter name="COLOR-PATTERN"/>
                </formatter>
            </console-handler>
            <periodic-rotating-file-handler name="FILE" autoflush="true">
                <formatter>
                    <named-formatter name="PATTERN"/>
                </formatter>
                <file relative-to="jboss.server.log.dir" path="server.log"/>
                <suffix value=".yyyy-MM-dd"/>
                <append value="true"/>
            </periodic-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>

src/com/myCompany/myPackage/mySubpackage/myClass.java SRC / COM / myCompany中/ mypackage中/ mySubpackage / myClass.java

package com.myCompany.myPackage.mySubpackage;

import org.apache.log4j.Logger;

public class myClass
{
   private static final Logger log = Logger.getLogger(myClass.class.getName());

   public SoccerFeed someMethod()
   {
      log.info("******************* someMethod ");
   }
}

SOLUTION: Based on Jame's answer below, To fix this based on my setup above, I added the following to wildFly's standalone.xml, and logging works as expected: 解决方案:基于下面的Jame答案,为了根据我上面的设置修复此问题,我将以下内容添加到wildFly的standalone.xml中,并且日志记录按预期工作:

<subsystem xmlns="urn:jboss:domain:logging:2.0">
    <use-deployment-logging-config value="false"/>

I'm not sure how Spring configures logging, but I think it does something specific with log4j. 我不确定Spring如何配置日志记录,但我认为它与log4j有关。 You might need to disable the use-deployment-logging-config to false . 您可能需要禁用use-deployment-logging-configfalse This will only configure logging for your deployment though. 这只会为您的部署配置日志记录。

You could also leave the log4j.xml configuration file out of your deployment and use the logging subsystem to configure logging. 您还可以将log4j.xml配置文件保留在部署之外,并使用日志记录子系统配置日志记录。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM