【发布时间】:2018-05-03 17:10:43
【问题描述】:
我将 Wiremock 作为独立进程 (v2.5.1) 运行。我通过扩展创建了一个 Java 自定义转换器:com.github.tomakehurst.wiremock.extension.ResponseTransformer
然后我的自定义转换器使用其他一些使用 Log4J 进行日志记录的通用代码。使用如下代码:
import org.apache.log4j.Logger;
private static Logger logger = Logger.getLogger(CommonCode.class);
...
logger.error("This is some error");
无论如何我可以配置 Wiremock 以输出此自定义日志记录吗?我尝试将 log4j.xml 和 log4j.properties 文件放在类路径中。下面是一个属性文件的例子:
log4j.appender.CUSTOMAPPENDER=org.apache.log4j.RollingFileAppender
log4j.appender.CUSTOMAPPENDER.File=c:/WireMock/logs/custom.log
log4j.appender.CUSTOMAPPENDER.layout=org.apache.log4j.PatternLayout
log4j.logger.com.myorg=DEBUG, CUSTOMAPPENDER
等效的 log4j.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="CUSTOMAPPENDER" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:/WireMock/logs/custom.log"/>
<param name="datePattern" value="'.'yyyy-MM-dd"/>
<param name="append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM dd HH:mm:ss}] [%r] %5p [%t] (%F:%L) - %m%n"/>
</layout>
</appender>
<logger name="com.myorg" additivity="false">
<level value="DEBUG"/>
<appender-ref ref="CUSTOMAPPENDER"/>
</logger>
</log4j:configuration>
我的类路径中还有以下 JAR:
- log4j-1.2.17.jar
- slf4j-api-1.7.2.jar
- slf4j-log4j12-1.7.2.jar
我希望此自定义日志记录从默认 Wiremock 详细日志记录转到单独的日志文件。任何帮助将不胜感激。
【问题讨论】:
标签: java logging log4j slf4j wiremock