我正在使用 log4j.properties 文件在我的 java 项目中生成日志。我只想要自定义日志语句和与该语句对应的日志文件。我的日志文件是这样的:
log4j.logger.org.apache.axis.enterprise=DEBUG, stdout,Rollfile
log4j.rootLogger=off
log4j.logger.com.gridsense.server.automode=Rollfile,stdout
log4j.appender.Rollfile=org.apache.log4j.RollingFileAppender
log4j.appender.Rollfile.Threshold=DEBUG
log4j.appender.Rollfile.File=D:/javaProjects/AutomodeGS_Prachi/AutoGS.log
log4j.appender.Rollfile.MaxFileSize=2MB
log4j.appender.Rollfile.layout=org.apache.log4j.PatternLayout
log4j.appender.Rollfile.layout.ConversionPattern=[%t] %-5p %c %d{dd/MM/yyyy HH:mm:ss} – %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x – %m%n
但是当我运行程序时,日志语句会打印在控制台上并创建空日志文件。我不明白什么是问题。为什么我的日志文件是空的?在我的课堂上,我写了声明
private static Logger logger = Logger.getLogger(Driver.class);
我正在进口
import org.apache.log4j.Logger;
实际上,我阅读了您针对与“Log4J 文件为空”相关的问题给出的解决方案,并对我的代码进行了一些更改。我将导入语句更改为
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
在我的课堂上:
static Log logger = LogFactory.getLog(Driver.class);
我仍然遇到同样的问题。任何建议都会有所帮助。