我有一个使用log4j1.x的javaweb应用程序,我使用logback将其迁移到slf4j。我有一个日志备份.xml包含我的appender的文件,slf4j日志语句使用这些appender,如下所示:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final static Logger logger = LoggerFactory.getLogger(MyClass.class);
logger.info("slf4j using logback message");
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;
private static Log log = LogFactory.getLog(MyClass.class);
log.info("commons logging message");
令我惊讶的是,这些语句还使用了我在中声明的appender日志备份.xml(基于日志中的匹配格式)。为什么会这样?apachecommons日志记录logback.xml?
一开始我认为这和我把jcl-over-slf4j作为一个可传递的依赖项引入到我的pom.xml文件. 但即使我排除了这一点,似乎commons日志仍在使用日志备份.xml. 这是预期的吗?如果是这样,是否可以在中声明一个appender日志备份.xml使用commons日志来专门格式化语句?