gpt4 book ai didi

java - Log4J文件不打印日志数据

转载 作者:行者123 更新时间:2023-12-01 23:23:08 25 4
gpt4 key购买 nike

在我的 Selenium 框架中,我正在实现 Log4J 库来打印测试执行日志,但 application.log 文件不打印任何日志。有人可以帮我看看我在做什么或出了什么问题吗:

我正在做以下事情:

1) 我将 1.2.17 log4J 依赖项添加到我的 pom.xml 文件中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

这是我需要纳入框架的最后一点工作,因此我们将非常感谢任何帮助。

最佳答案

我已经测试了您的配置,这是我的建议(因为我设法让它在我这边工作):

  1. 修复您的属性文件,因为这里 log4j.rootCategory=debug, console, file 您引用的是 console 附加程序,但这里 log4j.appender.stdout=org。 apache.log4j.ConsoleAppender 您定义了 stdout 附加程序。这样该行看起来像 log4j.rootCategory=debug, stdout, file
  2. 确保导入记录消息的 Logger 类。检查您是否正在使用 import org.apache.log4j.Logger; 但不是 import java.util.logging.Logger; 或其他任何内容。
  3. 确保类路径中没有其他 log4j 配置文件

这是我的测试代码(假设属性文件已修复):

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

关于java - Log4J文件不打印日志数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58320700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com