zoukankan      html  css  js  c++  java
  • @Logback简介

      Ceki Gülcü在Java日志领域世界知名。他创造了Log4J,这个最早的Java日志框架即便在JRE内置日志功能的竞争下仍然非常流行。随后他又着手实现SLF4J这个"简单的日志前端接口(Facade)"来替代Jakarta Commons-Logging。

    要在工程里面使用logback需要以下jar文件:

    maven依赖

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.7</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-access</artifactId>
        <version>1.1.7</version>
    </dependency>

    不需要再写logback-core和slf4j的依赖,因为logback-classic依赖这两个jar包。

    注:

    logback.xml(放在src/main/resource底下),不然找不到,即放在classpath最外层

    这样是找不到的,会使用默认配置

    这样就可以了,要在classpath最外层
    1.logback首先会试着查找logback.groovy文件;
    2.当没有找到时,继续试着查找logback-test.xml文件;
    3.当没有找到时,继续试着查找logback.xml文件;
    4.如果仍然没有找到,则使用默认配置(打印到控制台)。
    创建LogbackDemo.java用于测试,代码如   

    public class LogbackDemo {
        private static Logger logger = LoggerFactory.getLogger(LogbackDemo.class);
    
        public static void main(String[] args) {
            /**
             * 生产环境只能打印info,warn,error级别的日志,
             * 不能打印trace,debug级别的日志
             */
            logger.trace("<--trace-->");
            logger.debug("<--debug-->");
            logger.info("<--info-->");
            logger.warn("<--warn-->");
            logger.error("<--error-->");
    
            String name = "winner_0715";
            //打印变量,注意,{}绝不能省
            logger.info("Hello,{}!", name);
    
            String message = "logback";
            //禁止用String的"+"来输出字符串
            //所以这一种不推荐
            logger.info("Hello," + name + ",欢迎使用" + message);
            //推荐使用的方式
            logger.info("Hello,{},欢迎使用{}", name, message);
    
            String[] fruits = {"apple", "banana"};
            // 可以传入一个数组,结果为"Fruit:  apple,banana"
            logger.info("Fruit:{},{}", fruits);
    
        }
    }

    执行结果:

    16:51:29.336 [main] DEBUG com.winner.log.LogbackDemo - <--debug-->
    16:51:29.339 [main] INFO com.winner.log.LogbackDemo - <--info-->
    16:51:29.339 [main] WARN com.winner.log.LogbackDemo - <--warn-->
    16:51:29.339 [main] ERROR com.winner.log.LogbackDemo - <--error-->
    16:51:29.339 [main] INFO com.winner.log.LogbackDemo - Hello,winner_0715!
    16:51:29.340 [main] INFO com.winner.log.LogbackDemo - Hello,winner_0715,欢迎使用logback
    16:51:29.340 [main] INFO com.winner.log.LogbackDemo - Hello,winner_0715,欢迎使用logback
    16:51:29.340 [main] INFO com.winner.log.LogbackDemo - Fruit:apple,banana

    由此可见,日志是遵守一定格式的,但是我们并没有写配置文件,所以使用的是默认配置。

    默认格式:时间(精确到毫秒)+ 线程名称 + log级别 + 类名 + log信息

    从代码里可能只看得出来使用了slf4j,其实是使用了logback的jar包的

    仅仅使用slf4j的jar包无法完成日志功能。

  • 相关阅读:
    Eclipse设置、调优、使用
    eclipse安装插件的方式 三种:links、eclipse中使用插件安装向导安装、直接copy插件到对应的eclipse目录 MyEclipse10安装SVN插件
    eclipse 在Servers窗口创建一个Tomcat 6.0 Server失败
    小技巧:帮你批量删除代码前的行号
    editplus发布3.01 Build 446 Final版(附下载及中文版)
    eclipse 垃圾回收器,内存释放
    eclipse.ini的相关说明
    Eclipse 去掉JavaScript Validator
    DropBox 超实用的免费文件网络同步、备份、分享工具
    使用EditPlus技巧,提高工作效率(附英文版、自动完成文件、语法文件下载)
  • 原文地址:https://www.cnblogs.com/winner-0715/p/5837176.html
Copyright © 2011-2022 走看看