在我的Selenium框架中,我正在实现Log4J库以打印测试执行日志,但是application.log文件未打印任何日志。有人可以帮我看看我在做什么或为什么做错了吗
我正在执行以下操作:
1)我在pom.xml文件中添加了1.2.17 log4J依赖项 2)将log4j.properties文件添加到“ C:\ XXX \ IdeaProjects \ XXX \ AG_CEP_Regression_Testing \ src \ main \ resources \ log4j.properties
当我执行脚本时,它会生成日志文件,但不会打印日志数据,但我看到以下内容已经打印
2019-10-10 11:07:38,039 DEBUG [main] cache:45 - Couldn't find template in cache for "Extent.ftl"("en_GB", UTF-8, parsed); will try to load it.
2019-10-10 11:07:38,042 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en_GB.ftl"): Not found
2019-10-10 11:07:38,043 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en.ftl"): Not found
2019-10-10 11:07:38,044 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent.ftl"): Found
2019-10-10 11:07:38,045 DEBUG [main] cache:45 - Loading template for "Extent.ftl"("en_GB", UTF-8, parsed) from "jar:file:/C:/XXX/.m2/repository/com/relevantcodes/extentreports/2.41.2/extentreports-2.41.2.jar!/com/relevantcodes/extentreports/view/Extent.ftl"
2019-10-10 11:07:38,314 DEBUG [main] cache:45 - Couldn't find template in cache for "Extent.ftl"("en_GB", UTF-8, parsed); will try to load it.
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en_GB.ftl"): Not found
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent_en.ftl"): Not found
2019-10-10 11:07:38,315 DEBUG [main] cache:45 - TemplateLoader.findTemplateSource("Extent.ftl"): Found
2019-10-10 11:07:38,316 DEBUG [main] cache:45 - Loading template for "Extent.ftl"("en_GB", UTF-8, parsed) from "jar:file:/C:/XXX/.m2/repository/com/relevantcodes/extentreports/2.41.2/extentreports-2.41.2.jar!/com/relevantcodes/extentreports/view/Extent.ftl"
这是我的log4J.properties文件内容:
log4j.rootCategory=debug, console, file
#log4j.logger.freemarker.cache = DEBUG, file, stdout
# Appender which writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{MM-dd-yyyy HH:mm:ss} %F %-5p [%t] %c{2} %L - %m%n
# Appender which writes to a file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=application.log
# Defining maximum size of a log file
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %5p [%t] %c{1}:%L - %m%n
log4j.appender.file.Append=true
这是我需要整合到框架中的最后工作,因此我们将不胜感激。
答案 0 :(得分:0)
我已经测试了您的配置,这是我的建议(因为我设法使其能够正常工作):
log4j.rootCategory=debug, console, file
是指console
附加程序,而在log4j.appender.stdout=org.apache.log4j.ConsoleAppender
是您定义的stdout
附加程序。这样行看起来像log4j.rootCategory=debug, stdout, file
Logger
类。检查您使用的是import org.apache.log4j.Logger;
,而不是import java.util.logging.Logger;
或其他。这是我的测试代码(假设属性文件已修复):
import java.util.logging.Logger;
public class TestLogging {
static final Logger log = Logger.getLogger(TestLogging.class.getName());
public static void main(String[] args) {
log.info("Test");
}
}
这是控制台输出:
10-10-2019 14:22:29 TestLogging.java INFO [main] TestLogging 8 - Test
这是文件输出:
2019-10-10 14:22:29,447 INFO [main] TestLogging:8 - Test