Java Logback,根本没有日志文件(RollingFileAppender和SizeBasedTriggeringPolicy
logback有问题。我已尝试记录我的操作,希望将所有日志写入文件,但在启动应用程序后根本没有日志 logback.xmlJava Logback,根本没有日志文件(RollingFileAppender和SizeBasedTriggeringPolicy,java,maven,tomcat,logging,logback,Java,Maven,Tomcat,Logging,Logback,logback有问题。我已尝试记录我的操作,希望将所有日志写入文件,但在启动应用程序后根本没有日志 logback.xml <configuration> <appender name="FILE-LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>log/application.log</file> <rolli
<configuration>
<appender name="FILE-LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>log/application.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<fileNamePattern>log/application-%d{yyyy-MM-dd}.log%i</fileNamePattern>
<maxFileSize>5MB</maxFileSize>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.test.application" level="info">
<appender-ref ref="FILE-LOGGER"/>
</logger>
<root level="debug">
<appender-ref ref="FILE-LOGGER"/>
</root>
</configuration>
log/application.log
日志/应用程序-%d{yyyy-MM-dd}。日志%i
5MB
%d{HH:mm:ss.SSS}[%thread]-5级别%logger{36}-%msg%n
service.java
static final Logger LOG = LoggerFactory.getLogger(TestClass.class);
public List<Items> getAll(){
LOG.info("hi, info!!!!!");
LOG.error("hi, error!!!!!");
}
static final Logger LOG=LoggerFactory.getLogger(TestClass.class);
公共列表getAll(){
LOG.info(“嗨,info!!!”);
LOG.error(“嗨,error!!!”);
}
pom.xml
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j-version}</version>
</dependency>
回写
回归经典
1.2.3
测试
org.slf4j
slf4j api
${slf4j版本}
org.slf4j
slf4j简单
${slf4j版本}
预期日志将位于日志文件中。我偶然发现问题 我从logback.xml中删除了文件,并开始在控制台中接收日志,发现了下一个有趣的行:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
ERROR in ch.qos.logback.core.joran.util.PropertySetter@100454a1 - A "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy" object is not assignable to a "ch.qos.logback.core.rolling.RollingPolicy" variable.
要解决此问题,您需要执行以下步骤:
- 删除slf4j依赖项
- 将SizeBaedTriggeringPolicy重命名为 SizeAndTimeBasedRollingPolicy
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:org/slf4j/slf4j-simple/1.7.26/slf4j-simple-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]
ERROR in ch.qos.logback.core.joran.util.PropertySetter@100454a1 - A "ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy" object is not assignable to a "ch.qos.logback.core.rolling.RollingPolicy" variable.
要解决此问题,您需要执行以下步骤:
- 删除slf4j依赖项
- 将SizeBaedTriggeringPolicy重命名为 SizeAndTimeBasedRollingPolicy