无法使用带有log4j的slf4j写入日志文件

时间:2013-11-28 10:27:05

标签: logging log4j slf4j

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

这是我的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 );
        }

任何帮助我真的很感激。感谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以像这样在类级别编写logger对象。

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");
     }

    }