我正在尝试使用slf4j和logback将日志添加到我的多模块项目中。 该项目包含三个pom.xml文件,一个在模型模块中,一个在视图模块中,以及一个主pom.xml文件。 我向每个文件添加了以下依赖项:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
接下来,我将logback.xml文件放置在resources文件夹(仅在view模块中可用)中,并按以下方式进行配置:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="true">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} {%thread} %-5level %logger{36} - %msg %n</pattern>
</encoder>
</appender>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
<file>${LOG_FILE}</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<cleanHistoryOnStart>${LOG_FILE_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz</fileNamePattern>
<maxFileSize>${LOG_FILE_MAX_SIZE:-10MB}</maxFileSize>
<maxHistory>${LOG_FILE_MAX_HISTORY:-7}</maxHistory>
<totalSizeCap>${LOG_FILE_TOTAL_SIZE_CAP:-0}</totalSizeCap>
</rollingPolicy>
</appender>
<logger name="pl.compprog.gui" level="debug"/>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
一切似乎都很好,但是当我尝试import org.slf4j.Logger;
时,我得到了“软件包org.slf4j在模块slf4j.api中声明,但模块View无法读取它”。该如何解决?
我尝试从Maven级别安装项目,但是尽管成功结束,但它没有任何改变。