SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
来源:互联网 发布:mac端口号查询 编辑:程序博客网 时间:2024/06/05 16:43
在使用logback 的时候 使用的实例
java代码:
package com.eastcom.my.study.first.logback;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class LogbackDemo {private static Logger logger = LoggerFactory.getLogger(com.eastcom.my.study.first.logback.LogbackDemo.class);public static void main(String[] args) {logger.trace("======trace");logger.debug("======debug");logger.info("======info");logger.warn("======warn");logger.error("======error");String name = "Aub";String message = "3Q";String[] fruits = { "apple", "banana" };// logback提供的可以使用变量的打印方式,结果为"Hello,Aub!"logger.info("Hello,{}!", name);// 可以有多个参数,结果为“Hello,Aub! 3Q!”logger.info("Hello,{}! {}!", name, message);// 可以传入一个数组,结果为"Fruit: apple,banana"logger.info("Fruit: {},{}", fruits);System.out.println("hello world ");}}
引入的jar包
<!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-classic --><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version></dependency><!-- https://mvnrepository.com/artifact/ch.qos.logback/logback-core --><dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version></dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version></dependency>
总是不能正常输出日志:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.hello world
报错
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
或者在网上找到了答案:链接 https://stackoverflow.com/questions/7421612/slf4j-failed-to-load-class-org-slf4j-impl-staticloggerbinder
添加了依赖包
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple --><dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version></dependency>
需要去掉 <scope>test</scope>
正常情况下输出:
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="warn"> <appender-ref ref="STDOUT" /> </root></configuration>
over
如果加入logback.xml 文件
<configuration> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <!-- encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="warn"> <appender-ref ref="STDOUT" /> </root></configuration>
其配置文件的路径在src/logback.xml
在代码中需要从新加载配置文件
java代码
package com.eastcom.my.study.first.logback;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import ch.qos.logback.classic.LoggerContext;import ch.qos.logback.classic.joran.JoranConfigurator;import ch.qos.logback.core.joran.spi.JoranException;import ch.qos.logback.core.util.StatusPrinter;public class LogbackDemo {private static Logger logger = LoggerFactory.getLogger(com.eastcom.my.study.first.logback.LogbackDemo.class);public static void main(String[] args) {LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();JoranConfigurator configurator = new JoranConfigurator();configurator.setContext(lc);lc.reset();try {configurator.doConfigure("D:/newworkspace/my-study-first/src/logback.xml");} catch (JoranException e) {e.printStackTrace();}StatusPrinter.printInCaseOfErrorsOrWarnings(lc);System.out.println("===================");logger.debug("Hello {}", "debug message");logger.trace("======trace");logger.debug("======debug");logger.info("======info");logger.warn("======warn");logger.error("======error");String name = "Aub";String message = "3Q";String[] fruits = { "apple", "banana" };// logback提供的可以使用变量的打印方式,结果为"Hello,Aub!"logger.info("Hello,{}!", name);// 可以有多个参数,结果为“Hello,Aub! 3Q!”logger.info("Hello,{}! {}!", name, message);// 可以传入一个数组,结果为"Fruit: apple,banana"logger.info("Fruit: {},{}", fruits);System.out.println("hello world ");}}
可以看到只获得warn的日志输出
SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/D:/softinstall/java/apache-maven-3/repository/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:/D:/softinstall/java/apache-maven-3/repository/org/slf4j/slf4j-simple/1.7.25/slf4j-simple-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]===================13:34:46.762 [main] WARN c.e.m.s.first.logback.LogbackDemo - ======warn13:34:46.773 [main] ERROR c.e.m.s.first.logback.LogbackDemo - ======errorhello world
over
在Linux下打包运行 指定配置文件的位置,可也使用 -Dlogback.configurationFile=/data/myzjodc-test/conf/logback/logback.xml
java -Dlogback.configurationFile=/data/myzjodc-test/conf/logback/logback.xml -cp .:./my-study-first-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.eastcom.my.study.first.logback.LogbackDemo2
阅读全文
0 0
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决 .
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决 .
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- 【Error】SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题
- SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"问题解决 .
- Python的sys.argv函数
- 梦回长安
- java核心技术卷 之JFrame
- 修改UIWebView中字体的大小
- git操作文档
- SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder”
- 面试总结
- 203
- HandlerThread实现数字时钟
- String的常用方法
- Codeforces 190D Non-Secret Cypher【思维+RMQ+二分】
- BillPrint
- 静态工厂方法
- 道格拉斯-普克算法(Douglas–Peucker algorithm)---多边形逼近算法