【问题标题】:Cannot write a log file using slf4j with log4j无法使用带有 log4j 的 slf4j 写入日志文件
【发布时间】:2013-11-28 10:27:04
【问题描述】:

我正在尝试使用带有 log4j 的 slf4j 编写日志文件。我可以在控制台中看到日志。但它没有写入日志文件

这是我的 log4js 属性文件

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-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{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

我的类路径中包含 slf4j-api-1.7.5.jar 、 slf4j-log4j12-1.7.5 和 log4j-1.2.8.jar 。

我用下面的方法写日志。

private static final String _CONSOLE_INFO = "_CONSOLE_INFO";

    public static void stdInfo( String message )
        {
            org.slf4j.Logger logger = LoggerFactory.getLogger( _CONSOLE_INFO );
            logger.warn( message );
        }

任何帮助我都会非常感激。谢谢

【问题讨论】:

    标签: logging log4j slf4j


    【解决方案1】:

    您应该尝试使用LoggerFactory.getLogger( MyClass.class ); 而不是您的代码。

    【讨论】:

      【解决方案2】:

      您可以像这样在类级别编写记录器对象。

      public class MainDB {
      
      
      private static final Logger log = Logger.getLogger(MainDB.class);
      
      public static void main(String[] args)throws IOException,SQLException{
      
               log.debug("Debug");
               log.info("Info");
           }
      
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多