log4j没有打印jdbctemplate日志

时间:2014-10-25 06:45:36

标签: logging log4j jdbctemplate jboss-eap-6

我有以下配置。如果我对其进行更改,现有的应用程序调试日志将停止。我已尝试进行更改以启用

  1. system.out.pritlln,
  2. jdbc模板日志
  3. spring security logs
  4. 但他们没有来。我可以做些什么更改来启用日志。

    # Root logger option
    log4j.rootLogger=INFO, stdout, stderr
    log4j.category.com.de.bridge=DEBUG, SYSLOG, file
    
    # Direct log messages to a log file
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=logfile.log
    
    
    log4j.appender.FILE.Threshold=info
    log4j.appender.FILE.Append=true
    log4j.appender.file.MaxFileSize=5MB
    log4j.appender.file.MaxBackupIndex=5
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    # Direct log messages to stdout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.Target=System.out
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    # Direct log messages to syslogd
    log4j.appender.SYSLOG=org.apache.log4j.net.SyslogAppender
    log4j.appender.SYSLOG.syslogHost=localhost
    log4j.appender.SYSLOG.layout=org.apache.log4j.PatternLayout
    log4j.appender.SYSLOG.layout.conversionPattern=%d{ISO8601} %-5p [%t] %c{2} %x - %m%n
    log4j.appender.SYSLOG.Facility=LOCAL1
    log4j.appender.SYSLOG.Threshold=info
    log4j.appender.SYSLOG.FacilityPrinting=true
    log4j.logger.org.springframework.jdbc.core = TRACE
    log4j.logger.org.springframework.jdbc.core.JdbcTemplate=DEBUG, file
    log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=TRACE, file
    

    我有我的jboss-deployment.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure>
      <deployment>
        <exclusions>
            <module name="org.apache.log4j" />
            <module name="org.apache.commons.logging" />
        </exclusions>
      </deployment>
    </jboss-deployment-structure>
    

1 个答案:

答案 0 :(得分:0)

Log4j更改如下     #Root logger选项     log4j.rootLogger = trace,file,CONSOLE

log4j.category.org.springframework.jdbc.core.JdbcTemplate=DEBUG,file
log4j.category.org.springframework.jdbc.core.StatementCreatorUtils=TRACE, file
log4j.category.org.springframework.jdbc.core=DEBUG, file
log4j.category.org.springframework.security=DEBUG, file

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/tmp/log1.log


log4j.appender.FILE.Append=true
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n


log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[%t] %-5p %c - %m%n

web.xml已更改如下

<listener>
   <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>classpath:log4j.properties</param-value>
</context-param>

log4j redirect stdout to DailyRollingFileAppender用于将system.out.println发送到日志文件。 我在我的一个启动servlet中添加了静态块来调用类

public class SSOLogin extends HttpServlet{

    private static final long serialVersionUID = 1L;
    static Logger log = Logger.getLogger(SSOLogin.class.getName());


 static
        {
            StdOutErrLog.tieSystemOutAndErrToLog();
        }

评论部署文件中的排除

<?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure>
      <deployment>
        <exclusions>
    <!--         <module name="org.apache.log4j" />
            <module name="org.apache.commons.logging" /> -->
    </exclusions>
  </deployment>
</jboss-deployment-structure>

..........................