我想为我的测试框架创建日志文件,并为每次运行的测试套件添加日期时间戳。我尝试使用以下代码,但无法正常工作。
name=PropertiesConfig
property.filename = logs/Temp
appenders = console, file
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n
appender.file.type = File
appender.file.name = LOGFILE
appender.file.fileName=${filename}/TestRun_%d{yyyy-MM-dd HH:mm:ss.SSS}.log
appender.fileout = com.veerasundar.dynamiclogger.NewLogForEachRunFileAppender
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} - %msg%n
loggers=file
logger.file.name=utilities
logger.file.level = debug
logger.file.appenderRefs = file
logger.file.appenderRef.file.ref = LOGFILE
rootLogger.level = debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
执行测试套件时,它抛出以下错误。
2019-06-06 21:57:54,919 main ERROR FileManager (logs/Temp/TestRun_%d{yyyy-MM-dd HH:mm:ss.SSS}.log) java.io.FileNotFoundException: logs\Temp\TestRun_%d{yyyy-MM-dd HH:mm:ss.SSS}.log (The filename, directory name, or volume label syntax is incorrect) java.io.FileNotFoundException: logs\Temp\TestRun_%d{yyyy-MM-dd HH:mm:ss.SSS}.log (The filename, directory name, or volume label syntax is incorrect)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
有人可以帮我吗?
答案 0 :(得分:1)
该错误是不言自明的,找不到您指定的filename
。
可以提供fileName
作为某些文件名,并且可以显式指定filepattern
,如下所示:
appender.file.fileName = Testrun.log
appender.file.filePattern = Testrun_%d{yyyy-MM-dd HH:mm:ss.SSS}.log