gpt4 book ai didi

java - 带logback的SLF4J还是提示failed to load class "org.slf4j.impl.StaticLoggerBinder"

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:01 25 4
gpt4 key购买 nike

我有一个 Maven 项目,它使用带有 logback 的 slf4j 作为记录器。我可以看到这两个 Artifact 都在我的 Maven 依赖项树项中。但是每当我尝试运行我的项目时,我都会收到提示:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

我查看了链接,上面写着:

Placing one (and only one) of slf4j-nop.jar, slf4j-simple.jar, slf4j-log4j12.jar, slf4j-jdk14.jar or logback-classic.jar on the class path should solve the problem.

我已经将 logback-classic 添加到我的项目中(我使用的是 1.0.9),但我一直提示该消息并且我的日志没有运行。

谁能帮我解决这个问题?谢谢。

更新:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.employee.scheduler</groupId>
<artifactId>rostering</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nurserostering</name>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- or whatever version you use -->
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!-- Needed for runExamples.sh and runExamples.bat -->
<addClasspath>true</addClasspath>
<classpathPrefix>../../binaries/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<configuration>
<executable>java</executable>
<classpathScope>runtime</classpathScope>
<arguments>
<argument>-Xms256m</argument>
<argument>-Xmx1024m</argument>
<argument>-server</argument>
<argument>-cp</argument>
<classpath />
<argument>com.employee.scheduler.nurserostering.app.NurseRosteringApp</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>

<dependencies>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-core</artifactId>
<version>6.1.0.Final</version>
</dependency>
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.optaplanner</groupId>
<artifactId>optaplanner-benchmark</artifactId>
<version>6.1.0.Final</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.0.9</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.9</version>
</dependency>
</dependencies>

这是我的 logback.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2013 JBoss Inc
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->

<configuration>

<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- %l lowers performance -->
<!--<pattern>%d [%t] %-5p %l%n %m%n</pattern>-->
<pattern>%d [%t] %-5p %m%n</pattern>
</encoder>
</appender>
<!--<appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
<!--<file>local/log/optaplannerBenchmark.log</file>-->
<!--<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">-->
<!--<fileNamePattern>local/log/optaplannerBenchmark.%i.log.zip</fileNamePattern>-->
<!--<minIndex>1</minIndex>-->
<!--<maxIndex>3</maxIndex>-->
<!--</rollingPolicy>-->
<!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">-->
<!--<maxFileSize>5MB</maxFileSize>-->
<!--</triggeringPolicy>-->
<!--<encoder>-->
<!--&lt;!&ndash; %l lowers performance &ndash;&gt;-->
<!--&lt;!&ndash;<pattern>%d [%t] %-5p %l%n %m%n</pattern>&ndash;&gt;-->
<!--<pattern>%d [%t] %-5p %m%n</pattern>-->
<!--</encoder>-->
<!--</appender>-->

<logger name="org.optaplanner" level="debug"/>
<logger name="com.employee.scheduler" level="debug"/>

<root level="warn">
<appender-ref ref="consoleAppender" />
<!--<appender-ref ref="fileAppender" />-->
</root>

</configuration>

我如何在我的程序中使用它:

public class SolutionBusiness {
protected final transient Logger logger = LoggerFactory.getLogger(getClass());

// some other codes

public void doMove(Move move) {
if (solver.isSolving()) {
logger.error("Not doing user move ({}) because the solver is solving.", move);
return;
}
if (!move.isMoveDoable(guiScoreDirector)) {
logger.warn("Not doing user move ({}) because it is not doable.", move);
return;
}
logger.info("Doing user move ({}).", move);
move.doMove(guiScoreDirector);
}
}

这是我的maven依赖:

maven dependencies

最佳答案

同样的错误。我去了 Maven Repository,寻找最新的非测试版。只需更改版本即可。工作 pom:

<properties>
<slf4j.version>1.7.26</slf4j.version>
<logback.version>1.2.3</logback.version>
</properties>

<dependencies>
<!-- LOGGING -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
</dependencies>

关于java - 带logback的SLF4J还是提示failed to load class "org.slf4j.impl.StaticLoggerBinder",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28754323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com