System.out.println不打印到控制台

时间:2015-03-03 19:34:35

标签: java spring jboss wildfly

我有一个在Wildfly 8. *上运行的Spring网络应用程序,由于某种原因它不会打印到控制台。我看到所有控制台日志和堆栈跟踪都很好,但系统消息不会出现。

问题可能在于我的log4j设置,所以我将发布该配置;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration  PUBLIC
  "-//APACHE//DTD LOG4J 1.2//EN" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration debug="true"
    xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" 
          value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
        </layout>
    </appender>

    <root>
        <level value="DEBUG" />
        <appender-ref ref="console" />
    </root>
</log4j:configuration>

我之前在JBoss 7.1上运行过应用程序,但是没有这个问题,所以我真的对可能出错的东西感到茫然。

随意询问我的其他任何配置,不确定需要什么。

编辑:

logger.org.jboss.as.config.level=DEBUG
logger.org.jboss.as.config.useParentHandlers=true

logger.jacorb.config.level=ERROR
logger.jacorb.config.useParentHandlers=true

logger.org.apache.tomcat.util.modeler.level=WARN
logger.org.apache.tomcat.util.modeler.useParentHandlers=true

logger.com.arjuna.level=WARN
logger.com.arjuna.useParentHandlers=true

handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
handler.CONSOLE.level=INFO
handler.CONSOLE.formatter=COLOR-PATTERN
handler.CONSOLE.properties=autoFlush,target,enabled
handler.CONSOLE.autoFlush=true
handler.CONSOLE.target=SYSTEM_OUT
handler.CONSOLE.enabled=true

handler.FILE=org.jboss.logmanager.handlers.PeriodicRotatingFileHandler
handler.FILE.level=ALL
handler.FILE.formatter=PATTERN
handler.FILE.properties=append,autoFlush,enabled,suffix,fileName
handler.FILE.constructorProperties=fileName,append
handler.FILE.append=true
handler.FILE.autoFlush=true
handler.FILE.enabled=true
handler.FILE.suffix=.yyyy-MM-dd
handler.FILE.fileName=C\:\\wildfly-8.2.0.Final\\standalone\\log\\server.log

formatter.PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.PATTERN.properties=pattern
formatter.PATTERN.pattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n

formatter.COLOR-PATTERN=org.jboss.logmanager.formatters.PatternFormatter
formatter.COLOR-PATTERN.properties=pattern
formatter.COLOR-PATTERN.pattern=%K{level}%d{HH\:mm\:ss,SSS} %-5p [%c] (%t) %s%E%n

这是我的独立部署文件夹中的日志配置。

3 个答案:

答案 0 :(得分:2)

我在几年前的.war(WEB-INF / classes)的根级别有一个log4j.properties文件导致同样的问题 - 删除修复它

答案 1 :(得分:1)

由于您使用的是日志框架,因此有两种方法可以解决它:

  1. 删除日志框架和所有配置文件(我为什么要这样做)
  2. log4j.properties文件从src/main/resources移至WEB-INF文件夹。
  3. 引用:JBoss Docs,每个部署日志记录&#39;

      

    按部署日志记录允许您将日志记录配置文件添加到部署中,并根据配置文件配置该部署的日志记录。在EAR中,配置应位于META-INF目录中。在WAR或JAR部署中,配置文件可以位于META-INF或WEB-INF / classes目录中。   允许使用以下配置文件:

         
        
    • logging.properties
    •   
    • jboss-logging.properties
    •   
    • log4j.properties
    •   
    • 的log4j.xml
    •   
    • 的JBoss-的log4j.xml
    •   

答案 2 :(得分:0)

我通常在wildfly中为每个部署配置日志时遇到问题,但您可以使用来自wildfly的日志记录系统,将您的独立域配置文件的日志配置更改为可以实现这一目的:

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