logback日志框架基本知识

这篇具有很好参考价值的文章主要介绍了logback日志框架基本知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文来说下logback日志框架基本知识


概述

Spring Boot已经将logback做为默认集成的日志框架,全面了解学习是必然了。曾经log4j是流行的日志框架,现在已被它的继任者logback替代,logback更快,更小,更灵活。当然,如果你的项目中还在用System.out.println()来输出内容,那更是得行动起来,要么“逃”吧,要么改造吧。

logback日志框架基本知识


logback简介

先来看看logback何许人也,最直接的就是看看它的官网:https://logback.qos.ch/

logback日志框架基本知识

官网首页直言不讳的说它将是log4j的继承者,所以,如果还没用到或如果还不会使用,赶紧行动起来吧。

logback主要由三个模块构成:logback-core,logback-classic及logback-access

logback日志框架基本知识
logback-core为基础核心,另外两个均依赖它。其中logback-classic实现了简单日志门面SLF4J;logback-access主要作为一个与Servlet容器交互的模块,提供与HTTP访问相关的一些功能。

通常使用时直接引入logback-classic的依赖,便可自动引入logback-core,当然为保险起见也可以显式的引入两者。


SpringBoot对logback的支持

上面已经提到SpringBoot默认集成了logback,因此无需专门引入便可进行直接使用。后面的示例我们也基于SpringBoot来进行演示和讲解,毕竟方便嘛。

在SpringBoot的web项目中logback的依赖关系如下:

logback日志框架基本知识
我们可以看到一旦引入spring-boot-starter-web依赖,对应的不仅引入了logback框架,还同时引入了slf4j相关框架。所以,项目中直接使用即可。


SpringBoot的集成

首先创建一个SpringBoot项目,核心依赖文件便是spring-boot-starter-web。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

如此便集成完成,其实嘛,等于根本不用集成。我们在项目中创建一个Controller类,其中打印不同级别的日志信息。

package com.wideth.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Api(tags = "logback")
@RequestMapping("/api")
public class LogbackController {


    private static final Logger log = 
    LoggerFactory.getLogger(LogbackController.class);

    @ApiOperation(value = "logback")
    @GetMapping("/hello")
    public void hello() {

        log.debug("Hello world 测试debug日志");
        log.info("Hello world 测试info日志");
        log.warn("Hello world 测试warn日志");
        log.error("Hello world 测试error日志");
    }
}

上面代码中分别使用debug,info,warn,error方法输出日志。日志的所有配置,都是基于SpringBoot集成logback时的默认配置来的。

此时如果访问对应的url,便可打印出对应日志。

logback日志框架基本知识

为什么只打印了三行?因为SpringBoot默认日志输出级别为info级别。在application.properties文件中添加如下配置便可打印出debug级别的日志。

logging:
   level:
     com.wideth: debug

其中com.wideth为项目的基础package路径。更多配置使用下节专门进行讲解。

logback日志框架基本知识


SpringBoot对logback的基础配置

SpringBoot对logback内置了一些默认配置,这与SpringBoot集成其他框架异曲同工。默认情况下SpringBoot将日志输出到控制台,不会写到日志文件。如果输出到日志文件,则需在application.properties中设置logging.file或logging.path属性。

logging:
   level:
     com.wideth: debug
   file:
     # 注:二者不能同时使用。否则只有logging.file生效
     name: my.log
     path: my.logs

logback日志框架基本知识
logback日志框架基本知识

关于日志级别的配置,在上面已经有具体的示例了。设置格式为logging.leve.* =LEVEL,其中*为包名或logger名,LEVEL有:TRACE,DEBUG,INFO,WARN,ERROR,FATAL,OFF。

其他的就是日志文件的大小(默认10MB)、格式,以及控制台和日志文件内日志的格式配置了。根据提示我们可以很轻易搞定。

但是,你可能也发现了在application.properties中支持的配置有些简单。对的,如果需要配置复杂的日志内容,则需要基于xml配置文件来进行操作。

logback日志框架基本知识


自定义logback配置

在application.properties中配置日志,通常在小型系统或对日志没有严格要求的系统中使用。如果运用在生产环境,通常建议通过基于xml文件来对logback进行自定义配置。在SpringBoot中,默认支持四种命名的日志文件。

logback日志框架基本知识

也就是说如果在src/main/resources目录下放置其中任一类型的配置文件,SpringBoot便会自动进行使用。

而Spring Boot官方推荐优先使用带有-spring的文件名配置(如有logback-spring.xml,则不会使用logback.xml)。

若需要对配置文件名进行修改,或者希望把放到其它目录下,可以在application中通过logging.config属性来指定,如logging.config=classpath:config/my-log-config.xml。


本文小结

本文介绍了logback日志框架基本知识和常见的一些概念文章来源地址https://www.toymoban.com/news/detail-515231.html

到了这里,关于logback日志框架基本知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java Logback日志框架概述及logback.xml详解

    日志技术具备的优势 可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。· 可以随时以开关的形式控制是否记录日志,无需修改源代码。 日志体系结构 Logback日志框架 Logback是由log4j创始人设计的另一个开源日志组件,性能比log4j要好 Logback是基于

    2024年02月10日
    浏览(59)
  • spring整合logBack日志框架:

    SLF4J(Simple Logging Facade for Java)是一种日志规范,类似于JDBC,我们常用的日志log4j、logback等都实现了这个规范,所以我们可以直接使用SLF4J的规范来使用日志。 它们是同一个作者开发的,logback是重新编写的内核,在一些关键执行的路径上提升了10倍以上。它也支持了一些新的

    2024年02月12日
    浏览(40)
  • Logback是最好用的日志框架吗?Logback快速入门

    日志技术可以将系统执行的信息选择性的记录到指定的位置(控制台、文件中、数据库中)。随时以开关的形式控制是否记录日志,无需修改源代码,就可以取消或者记录信息。并且牛人或者第三方公司已经做好的日志记录实现代码,开发者可以直接拿来使用。 常见的日志框架

    2024年02月07日
    浏览(41)
  • Web数据库基本知识,SQL基本语法

    当我们谈论整个技术栈时,实际上涉及了一系列步骤,而在Web开发中,这些步骤可以被具体化为以下几个阶段: DBMS-GUI-翻译器-查询语言 在web中具体如下: postgreSQL-Hasura-Apollo+ts-GraphQL 具体解释 DBMS(数据库管理系统): 作用: 数据库管理系统允许我们直接使用SQL语言来操作数

    2024年02月03日
    浏览(45)
  • MyBatis junit 日志框架logback

    JUnit是专门做单元测试的组件 !-- junit依赖 -- dependency     groupIdjunit/groupId     artifactIdjunit/artifactId     version4.13.2/version     scopetest/scope /dependency pom.xml test:        引入日志框架logback 引入日志框架的目的是为了看清楚mybatis执行的具体sql mybatis – MyBatis 3 | 配置 指定 MyBatis 所

    2024年02月09日
    浏览(36)
  • Git基本知识

    Git 官网: https://book.git-scm.com/ Git 完整命令手册地址: http://git-scm.com/docs Git 中文文档: https://git-scm.com/book/zh/v2 Git 各平台安装包下载地址为: http://git-scm.com/downloads 2.1 Windows下的安装 安装包下载地址: https://github.com/git-for-windows/git/releases/ https://gitforwindows.org/ 官网慢,可以用

    2024年02月08日
    浏览(32)
  • shell基本知识

    一、为什么学习和使用shell编程 二、什么是shell 系统当前支持的所有的shell: 三、shell的分类 为nologin,运行进程的,不允许登录系统,考虑系统安全性 用户名:密码的占位符:uid(用户的id):gid(用户所属基本组的id:关于账号的描述信息:用户家目录:当前用户与系统交

    2024年02月12日
    浏览(49)
  • c++ 基本知识(一)

    一、c++调用python #include cstdlib int main() {     int result = system(\\\"python your_script.py\\\");     return 0; } 二、cmake、make、gcc的区别? 1、CMake(Cross-Platform Make)是一个跨平台的构建工具,用于生成适合不同操作系统和编译器的构建脚本。它使用CMakeLists.txt文件来描述项目的构建过程,并根据

    2024年02月16日
    浏览(34)
  • Qt 基本知识

    QMainWindow:主窗口 菜单栏 工具栏 状态栏 QWidget:空白的窗口 所有界面组件的基类 QDialog:对话框类 new project Qt Widget Application qmake 后缀为 .pro 基类:QWidget Generate form 不要去掉 自动生成 ui 文件 Kit 一般使用第一个 widget.ui 界面加个 label 就行 可以在右下角进行调整 GUI 程序结构

    2024年02月22日
    浏览(36)
  • 电容的基本知识

    1、电容是电路中重要的元件,种类多、用途广,主要有插件类和贴片类两种。 2、电容主要特性参数:标称容量、耐压、误差、温度         2.1电容容量常用单位有微法《uF)、纳法《nF)、皮法《pF)        单位换算:1uF=10^3nF=10\\\"6pF《电容的基本单位用法拉(F)表示)例如: 105

    2024年02月11日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包