【日志技术——Logback日志框架】

日志技术

1.引出

我们通常展示信息使用的是输出语句,但它有弊端,只能在控制台展示信息,不能灵活的指定日志输出的位置(文件,数据库),想加入或取消日志,需要修改源代码

2.日志技术
  • 可以将系统执行的信息,方便的记录到指定的位置(控制台、文件中、数据库中)
  • 可以随时以开关控制日志的启停,无需侵入到源代码中去进行修改
  • 用来记录程序运行过程中的各种信息,并可以进行永久存储
3.日志的体系和框架

(1)日志体系

  • 日志接口:设计日志框架的一套标准,日志框架需要实现这些接口

    Commons Logging(JCL)、Simple Logging Facade for Java(SLF4J)

    因为对Commons Logging接口不满意,搞了SLF4J

  • 日志框架:牛人或第三方公司已经做好的实现代码,后来者直接拿去使用

    JUL(java.util.logging)、Log4j、Logback

    因为对Log4j的性能不满意,搞了Logback

Logback是基于SLF4J接口的日志规范实现的框架

4.Logback日志框架

(1)要使用Logback日志框架,至少需要在项目中整合三个模块

  • logback-core:基础模块,是其他两个模块的依赖基础(必须有)
  • logback-classic:完整实现了slf4j API模块(必须有)
  • logback-access:与Tomact和Jetty等Servlet容器集成,以提供HTTP访问日志的功能

(2)快速入门

  • 需求:使用Logback日志框架,记录系统的运行信息

  • 实现步骤

    ①将jar包拖入项目的lib文件夹下,对着jar包右键,选择Add As Library

    ②在src下导入配置文件logback.xml(必须放在src下)

    ③获取日志对象LOGGER,调用Logger方法打日志即可

获取日志对象LOGGER: private static final Logger LOGGER = LoggerFactory.getLogger(“类名”);

调用方法打日志:

  • LOGGER.info(String info)
  • LOGGER.debug(String info)
  • LOGGER.error(String info)
public class Demo {
    //成员位置,获取日志对象
    private static final Logger LOGGER = LoggerFactory.getLogger("Demo");
    public static void main(String[] args) {     
            try {
                LOGGER.info("方法开始执行");
                chu(10, 2);
                LOGGER.info("方法执行成功");
            } catch (Exception e) {
                LOGGER.error("程序出现异常,执行失败");
                e.printStackTrace();
            }
    }
    public static void chu(int a, int b) {
        LOGGER.debug("参数a:" + a);
        LOGGER.debug("参数b:" + b);
        int c = a / b;
        LOGGER.debug("运算结果:" + c);
    }
}

(3)核心配置文件logback.xml

①对Logback日志框架进行控制

②通常可以设置两个输出日志的位置:一个是控制台,一个是系统文件中

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
 <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
     //日志输出路径
  <file>C:/code/itcast-data.log</file>

③level:ALL为所有,OFF为关闭日志,还可以用来设置打印级别,大小写无关

<root level=ALL">    
<appender-ref ref="CONSOLE"/>   
<appender-ref ref="FILE" />
</root>

(4)日志级别

日志级别指的是日志信息的类型,日志都会分级别,优先级由低到高

日志说明
trace(低)追踪,指明程序运行轨迹,不常用
debug测试,实际应用中一般将其作为最低级别
info输出重要的运行信息,数据连接、网络连接、IO操作等,使用较多
warn警告信息,可能会发生问题,使用较多
error(高)发生了错误,可能已经被解决,不影响程序运行

只有日志级别大于或等于核心配置文件的日志级别时,才会被记录,否则不记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值