Log4J 文件不打印日志数据
Log4J file not printing log data
在我的 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
这是我需要整合到我的框架中的最后一点工作,我们将不胜感激任何帮助。
我已经测试了你的配置,这是我的建议(因为我设法让它在我这边工作):
- 修复你的属性文件,因为这里
log4j.rootCategory=debug, console, file
你指的是 console
appender 但这里 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
你定义 stdout
appender。这样该行看起来像 log4j.rootCategory=debug, stdout, file
- 确保在记录消息的地方导入 porper
Logger
class。检查您使用的是 import org.apache.log4j.Logger;
而不是 import java.util.logging.Logger;
或其他任何东西。
- 确保class路径中没有其他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
在我的 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
这是我需要整合到我的框架中的最后一点工作,我们将不胜感激任何帮助。
我已经测试了你的配置,这是我的建议(因为我设法让它在我这边工作):
- 修复你的属性文件,因为这里
log4j.rootCategory=debug, console, file
你指的是console
appender 但这里log4j.appender.stdout=org.apache.log4j.ConsoleAppender
你定义stdout
appender。这样该行看起来像log4j.rootCategory=debug, stdout, file
- 确保在记录消息的地方导入 porper
Logger
class。检查您使用的是import org.apache.log4j.Logger;
而不是import java.util.logging.Logger;
或其他任何东西。 - 确保class路径中没有其他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