记录器不写入文件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....");
答
尝试指定您的基本软件包日志
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并且没有必要根据操作系统切换路径斜杠。只是提醒一下,确保你有权限到指定的路径。
您是否检查过您的log4j.properties文件是否正确拾取? –
您是否尝试提供完整路径的文件,如C:/log.out? –
您是否已将'log4j-slf4j-impl.jar'文件添加到类路径中?哦,对不起,您正在使用旧的* Log4j 1.2。你是否将'slf4j-log4j12.jar'文件添加到类路径中? – Andreas