记录器不写入文件Log4J

问题描述:

我不明白为什么我的Log4J不记录到文件。我一直在寻找许多类似的帖子,但没有人帮助我。我配置了所有正确的,但它不记录到文件。记录器不写入文件Log4J

让我告诉你,这是配置log4J.properties:

# 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=log.out 
log4j.appender.file.ImmediateFlush=true 
log4j.appender.file.MaxFileSize=1024MB 
log4j.appender.file.MaxBackupIndex=1 
log4j.appender.file.Append=true 
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 

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 

这就是我如何使用记录仪:

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

... 

private Logger logger = LoggerFactory.getLogger(GameBoardService.class); 


... 

logger.info("log this text into file...."); 
+0

您是否检查过您的log4j.properties文件是否正确拾取? –

+0

您是否尝试提供完整路径的文件,如C:/log.out? –

+0

您是否已将'log4j-slf4j-impl.jar'文件添加到类路径中?哦,对不起,您正在使用旧的* Log4j 1.2。你是否将'slf4j-log4j12.jar'文件添加到类路径中? – Andreas

尝试指定您的基本软件包日志

log4j.logger.[your own class base package ]=INFO 

eg

log4j.logger.org.springframework=WARN 
log4j.logger.org.hibernate=WARN 

具体的日志路径使您能够轻松找到路径,例如,下面。

log4j.appender.file.File=/var/logs/log.out 

此外,/var/logs/log.out在Windows创建为C:\ VAR \日志\ log.out和Linux作为/var/logs/log.out并且没有必要根据操作系统切换路径斜杠。只是提醒一下,确保你有权限到指定的路径。