slf4j + logback eclipse控制台无法打印输出问题

来源:互联网 发布:宜家床垫 知乎 编辑:程序博客网 时间:2024/05/21 06:45

参照https://wiki.base22.com/display/btg/How+to+setup+SLF4J+and+LOGBack+in+a+web+app+-+fast 这个例子,楼主又在http://mvnrepository.com/ 这个地方查询最新的三个依赖包


pom.xml 如下

   <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <maven.compiler.source>1.8</maven.compiler.source>        <maven.compiler.target>1.8</maven.compiler.target>        <java.version>1.8</java.version>            <slf4j.version>1.8.0-alpha1</slf4j.version>        <logback.version>1.2.3</logback.version>    </properties>    <dependencies>        <!-- 日志 核心包 -->        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>${slf4j.version}</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-core</artifactId>            <version>${logback.version}</version>        </dependency>        <dependency>            <groupId>ch.qos.logback</groupId>            <artifactId>logback-classic</artifactId>            <version>${logback.version}</version>        </dependency>

logback.xml,位置:楼主是maven项目,直接放在resource下面即可

<?xml version="1.0" encoding="UTF-8"?><configuration>  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">    <layout class="ch.qos.logback.classic.PatternLayout">      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>    </layout>  </appender>  <root level="debug">    <appender-ref ref="STDOUT" />  </root></configuration>

测试代码

import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class HelloWorld {    static final Logger LOG = LoggerFactory.getLogger(HelloWorld.class);    public static void main(String[] args) {        HelloWorld console = new HelloWorld();        console.execute();    }    public HelloWorld() {    }    public void execute() {        if (LOG.isTraceEnabled()) {            LOG.trace("Test: TRACE level message.");        }        if (LOG.isDebugEnabled()) {            LOG.debug("Test: DEBUG level message.");        }        if (LOG.isInfoEnabled()) {            LOG.info("Test: INFO level message.");        }        if (LOG.isWarnEnabled()) {            LOG.warn("Test: WARN level message.");        }        if (LOG.isErrorEnabled()) {            LOG.error("Test: ERROR level message.");        }    }}

SLF4J: No SLF4J providers were found.SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions prior to 1.8.SLF4J: Ignoring binding found at [jar:file:/D:/repo-study/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#ignoredBindings for an explanation.

这里写图片描述

控制台无法打印,这个问题找了好久,一直解决不了,logback.xml文件肯定没问题,java测试代码也肯定没问题,那问题就出在了jar上了,楼主又回到了查询jar包的maven网站http://mvnrepository.com/ ,
这里写图片描述
slf4j的版本过高了,然后降为1.7.25 问题解决

<slf4j.version>1.7.25</slf4j.version>

这里写图片描述

0 0