您好我正在寻找log4J的一些帮助。我正在运行一个测试套件,其中包含一系列类,这些类的方法设置为单独的测试(然后是线程化的),在这些方法中,我使用了信息记录器来输出给定的简单测试注释,然后格式化,只是为了让业务在出错时读取/调试,并将随机测试数据生成到文件中进行跟踪。需要基于类和方法将给定/当/后输出的测试数据输出到单个文件中。基本上我想要实现的是每个测试都有自己的记录。例如,文件将以它来自的方法命名,并包含给定的/ when / then及其使用的测试数据。有没有办法通过log4J.properties文件执行此操作:这是我用于输出测试步骤和数据的代码的副本:
# Direct log messages to err
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.Target=System.err
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
# Direct log messages to out
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %c{1} - %m%n
log4j.rootLogger=WARN, stdout
log4j.logger.[TEST-LOGGER]=INFO
log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.type=WARN
log4j.logger.com.gargoylesoftware=FATAL
log4j.logger.com.gargoylesoftware.htmlunit.javascript=FATAL
log4j.logger.com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl=FATAL
log4j.logger.com.ga.endeavour=WARN
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=/tmp/mylog.log
log4j.appender.rollingFile.MaxFileSize=2MB
log4j.appender.rollingFile.MaxBackupIndex=2
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n
log4j.logger.JSONLOG = INFO, rollingFile
答案 0 :(得分:0)
我认为this question涵盖了类似的情况。简而言之,您可以考虑使用the Mapped Diagnostic Context和客户附加程序。
这比仅仅编辑属性文件更复杂,但希望不会证明太多工作。