美文网首页
基于sl4j+logback+mongodb的日志组件

基于sl4j+logback+mongodb的日志组件

作者: 月光下的小手 | 来源:发表于2019-03-04 08:50 被阅读0次

Java的简单日志门面( Simple Logging Facade for Java  SLF4J)作为一个简单的门面或抽象,用来服务于各种各样的日志框架,比如java.util.logging、logback和log4j。SLF4J允许最终用户在部署时集成自己想要的日志框架。

需要注意的是,你的应用启用SLF4J意味着需要一个额外的依赖:slf4j-api-1.7.19.jar

从1.6.0开始:如果在class path没有找到绑定,SLF4J将默认一个无操作的实现。

从1.7.0开始:Logger接口中的打印方法现在提供variants取代了Object[]用来接收可变长参数。这个改变意味着SLF4J需要JDK 1.5或更高的版本。Java编译器在底层把方法中的可变参数部分转换成Object[]。因此,编译器生成的Logger接口在1.7.x版本中和它对应的的1.6.x版本中是没有区别的。因此SLF4J得1.7.x版本和1.6.x版本是 完全兼容的。

从1.7.5开始:日志的检索时间有了一个显著的改善,鉴于这个改善,非常鼓励用户迁移到SLF4J 1.7.5或更高的版本。

从1.7.9开始: 通过设置slf4j.detectLoggerNameMismatch 系统属性为true,SLF4J能自动的spot incorrectly named loggers.

Hello World

按照惯例,下面的示例说明最简单的方法使用SLF4J输出”hello world“。他首先获取一个名为”HelloWorld“的记录器,这个记录器用来记录”HelloWorld“。

package com.flea.system.mongo.manager;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class HelloWorld {

  public static void main(String[] args) {

    Logger logger = LoggerFactory.getLogger(HelloWorld.class);

    logger.info("Hello World");

  }

}

一旦你添加一个绑定在你的class path下,这个警告将会消失。假设你添加了 slf4j-simple-1.7.19.jar,你的class path包含:

slf4j-api-1.7.19.jar

slf4j-simple-1.7.19.jar

编译并运行HelloWorld程序,现在在控制台会有下列输出:

23:29:40.627 [main] INFO com.flea.system.mongo.manager.HelloWorld - Hello World

典型使用模式

下面的示例代码表明了SLF4J的典型使用模式。注意15行”{}“的使用,查看“What is the fastest way of logging?”获取更多细节。

相关文章

网友评论

      本文标题:基于sl4j+logback+mongodb的日志组件

      本文链接:https://www.haomeiwen.com/subject/aiuykftx.html