zoukankan      html  css  js  c++  java
  • 【Log】SLF4J简单入门

    SLF4J介绍

      SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

    SLF4J使用

      要想使用slf4j需要引入slf4j-api-x.x.x.jar,而 slf4j-api-x.x.x.jar 它提供对外一致的API接口,其本身不提供日志实现。要结合其他日志系统使用

    1. slf4j-jdk14-x.x.x.jar是为java.util.logging日志系统提供的驱动
    2. slf4j-simple-x.x.x.jar直接绑定System.err日志系统
    3. lf4j-jcl-x.x.x.jar是为commons-logging日志系统提供的驱动
    4. logback-classic-x.x.x.jar是为logback日志系统提供的驱动

      这里介绍System.err日志系统

    • 首先新建一个maven工程,在pom文件中引入jar包(slf4j-api-x.x.x.jar,slf4j-simple-x.x.x.jar)
       1 <dependency>
       2     <groupId>org.slf4j</groupId>
       3     <artifactId>slf4j-api</artifactId>
       4     <version>1.7.5</version>
       5 </dependency>
       6 
       7 <dependency>
       8     <groupId>org.slf4j</groupId>
       9     <artifactId>slf4j-simple</artifactId>
      10     <version>1.7.5</version>
      11 </dependency>
    • 测试类
       1 package com.test;
       2 
       3 import java.util.Date;
       4 
       5 import org.slf4j.Logger;
       6 import org.slf4j.LoggerFactory;
       7 
       8 
       9 public class Test {
      10     
      11     final static  Logger logger  =  LoggerFactory.getLogger(Test.class );
      12 
      13     public static void main(String[] args) throws InterruptedException {
      14 
      15         logger.debug( " This time is {}" ,  new Date().toString());
      16         
      17         logger.info( " This time is {}" ,  new Date().toString());
      18         
      19         logger.warn( " This time is {}" ,  new Date().toString());
      20         
      21         logger.error( " This time is {}" ,  new Date().toString());
      22         
      23     }
      24 
      25 }

      运行结果: 

    1 [main] INFO com.test.Test -  This time is Tue Jul 12 17:23:52 CST 2016
    2 [main] WARN com.test.Test -  This time is Tue Jul 12 17:23:52 CST 2016
    3 [main] ERROR com.test.Test -  This time is Tue Jul 12 17:23:52 CST 2016

      备注代码:logger.info( " This time is {}" ,  new Date().toString());

      此方法中'{}'为占位符,后面的参数会替换它

  • 相关阅读:
    hdu 5053 the Sum of Cube
    [LeetCode] Word Pattern
    [LeetCode] Minimum Depth of Binary Tree
    [C++] std::vector
    [LeetCode] Count Binary Substrings
    [LeetCode] Degree of an Array
    [LeetCode] String to Integer (atoi)
    [LintCode] 比较字符串
    [LeetCode] Valid Parentheses
    [LeetCode] Perfect Number
  • 原文地址:https://www.cnblogs.com/h--d/p/5664242.html
Copyright © 2011-2022 走看看