我正在使用 SLF4J 进行日志记录(使用 Log4J)。使用的 appender 是使用 xml 配置的。
<appender name="business" class="org.apache.log4j.RollingFileAppender">
<param name="maxFileSize" value="10MB" />
<param name="maxBackupIndex" value="10" />
<param name="File" value="${jboss.server.log.dir}/business.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p [%t] %c - %m%n" />
</layout>
</appender>
<category name="BusinessLogger" additivity="false">
<level value="INFO" />
<appender-ref ref="business" />
</category>
日志进程在拦截器中调用。现在,我正在尝试测试日志的输出。我在运行时使用以下命令调用记录器:
private static final Logger BUSINESS_LOGGER = LoggerFactory.getLogger("BusinessLogger");
为了测试日志(使用 junit),日志的输出需要作为变量保存在某处。我有一个关于创建自定义附加程序的想法,它将最后一个日志保存到变量中,但我似乎无法添加附加程序或更改附加程序,因为 slf4j 中的 Logger 类是一个接口。有没有人可能知道任何解决方法?