前言

​ 每次看公司配置好的logback文件的时候,都不知道什么意思。导致有的时候,一些项目发到测试环境的时候,有的项目没有打印日志,自己都不知道哪里有问题。所以自己新建一个springboot项目,使用logback来打印日志的输出格式。

日志区分

slf4j可以认为是一系列的日志接口,而log4j,logback是具体实现了的日志框架,官方翻译过来是这样说的:

slf4j译为简单的日志门面,是日志框架的抽象。而log4j和logback是众多的日志框架中的几种。

我主要对logback进行了实战。

简介

​ Logback是作为log4j的后续版本,Logback的体系结构足够通用。为了在不同的情况下应用,目前有三大模块:logback-core,logback-classic,logback-access。

  • logback-core : 核心模块,为了其他两个模块奠定了基础。
  • logback-classic: 可以看作log4f的改进版本,此外,logback-classic本身实现了SLF4J API。
  • logback-access: 模块与Servlet容器(如Tomcat和Jetty)集成,以提供HTTP访问日志功能。

配置文件

在springboot项目中,会先查找是否有logback-test.xml文件,有就会加载。没有就查找logback.xml文件,里面有三个比较大的属性。分别是root,logger,appender。一些变量的配置属性property,contextName。

root

根目录属性,每个logback文件中,只有一个level属性,设置整个项目的日志输出水平。如果设置多个root的话,以最高的level为准

logback.xml代码:

<?xml version="1.0" encoding="utf-8" ?>
<!-- debug=是否打印logback内部日志 scan=是否重新加载  scanPeriod=多久扫描一次  -->
<configuration debug="true" scan="true" scanPeriod="30 seconds"><!-- 下次再详细介绍  --><appender  name="stdout" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><Pattern>%d{YYYY年MM月dd日 HH:mm:ss} | %thread | %-5level %logger - %msg%n</Pattern></encoder></appender><!-- 控制台只会输出error的日志 --><root level="info"><appender-ref ref="stdout"/></root><root level="error"><appender-ref ref="stdout"/></root>
</configuration>

测试代码:

package com.example.logback.Demo;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;/*** @ClassName LogbackTest* @Description TODO* @Author ouyangkang* @Date 2019-01-03 16:34**/
@Component
public class LogbackTest {private final Logger logger = LoggerFactory.getLogger("测试");public void test() {logger.info("=========>info");logger.error("=========>error");logger.debug("=========>debug");}
}

测试类:

package com.example.logback;import com.example.logback.Demo.LogbackTest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;import javax.annotation.Resource;@RunWith(SpringRunner.class)
@SpringBootTest
public class LogbackApplicationTests {@Resourceprivate LogbackTest logbackTest;@Testpublic void contextLoads() {logbackTest.test();}}

结果如下:

只输出error中的字段。

下一篇我将把logback.xml中的logger详细介绍一下,和我自己写logger属性Demo的坑。这个坑也让我比较深刻的认识了logback。其实上面代码是有点问题的,不知道你看的出来吗。一旦我是用logger来打印日志这个坑就出来了。

转载于:https://www.cnblogs.com/Krloypower/p/10240763.html

logback实践笔记相关推荐

  1. webpack 实践笔记(一)--- 入门

    webpack 实践笔记入门(一) [webpack官网文档地址]:(http://webpack.github.io/docs...) [实践工程地址]: (https://github.com/s ...

  2. 基于 Docker 和 GitLab 的前端自动化部署实践笔记

    基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...

  3. 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(2)

    待办事项 时钟频率高,取指周期长,远大于执行周期,如何处理? 不可综合逻辑的处理 接上一篇 [计算机系统设计]实践笔记(2)数据通路构建:第一类R型指令分析(1) 8.2 ALU运算器 `timesc ...

  4. 【计算机系统设计】实践笔记(2)数据通路构建:第一类R型指令分析(1)

    0 回顾 上一次实践笔记(0)我们实现了一个最简单的,能够每个上升沿+4的PC. 我们最需要关注的就是器件功能的独立性,避免内外功能混杂,同时一定要注意脑中有电路(RTL级描述的抽象电路而不是实际的门 ...

  5. python编程入门到实践笔记习题_Python编程从入门到实践笔记——列表简介

    python编程从入门到实践笔记--列表简介 #coding=utf-8 #列表--我的理解等于c语言和java中的数组 bicycles = ["trek","cann ...

  6. JAVA并发编程实践笔记

    2019独角兽企业重金招聘Python工程师标准>>> JAVA并发编程实践笔记 博客分类: java JAVA并发编程实践笔记 1, 保证线程安全的三种方法:     a, 不要跨 ...

  7. Linux入门实践笔记(七)——云服务器中配置Java项目的JMX连接失败问题解决记录

    Linux入门实践笔记(七)--云服务器中配置Java项目的JMX连接失败问题解决记录 参考文章: (1)Linux入门实践笔记(七)--云服务器中配置Java项目的JMX连接失败问题解决记录 (2) ...

  8. Pycharm远程连接服务器(实践笔记)

    Pycharm远程连接服务器(实践笔记) 1. 远程连接服务器 2.配置服务器上的环境 记录一下过程,防止自己隔一段时间又忘了- &只有pycharm专业版才能远程连接 搞错了步骤1和2的顺序 ...

  9. Logback 学习笔记

    Logback 学习笔记 ##springboot 集成 Logback Springboot 默认日志管理系统是Logback日志管理,无需引如相关jar 网址 Logback官网:https:// ...

最新文章

  1. python执行命令并返回结果集_Python接口测试结果集实现封装比较
  2. 15个初学者必看的基础SQL查询语句
  3. WordCount作业提交到FileInputFormat类中split切分算法和host选择算法过程源码分析
  4. 05模块-barcode【条码扫描】
  5. 移动端隐藏滚动条(最全面)
  6. linux不写日志,linux 重要日志
  7. 测量坐标出现6位、7 、8位的情况
  8. 什么是软件测试资产,观点:当前是国内推广软件资产管理的最佳时期
  9. 【报告分享】产业互联网发展趋势及机会分析报告.pptx(附下载链接)
  10. Codeforces Round #275 (Div. 2) D
  11. 机器学习基础(二十)—— 数学语言与 Python 代码
  12. mysql数据库引擎事务_代码配置都没问题,为什么事务不回滚(了解Mysql数据库引擎)...
  13. IT行业技术部门人员架构设计
  14. Java--中文转换拼音,jpinyin-1.0.jar
  15. 我的计算机老师500,我的老师_作文500字_描写人物的作文_第一范文网
  16. xp自定义桌面中ie图标消失解决办法
  17. mac vscode改变字体
  18. word回车后间距太大_word编辑按回车换行上下间距好大怎么回事
  19. LQ0266 巧排扑克牌【模拟】
  20. python读取mssql文件_python 读取mssql数据库中文的搜索结果-阿里云开发者社区

热门文章

  1. c语言通讯录打电话,求c语言编写的通讯录源代码
  2. iOS12系统图片heic如何在电脑上查看
  3. 「镁客·请讲」吉影科技黄俊平:水下机器人市场的拓展,需要更多行业者协同并进...
  4. C#~异步编程再续~你必须要知道的ThreadPool里的throw
  5. Linux 权限管理之基本权限
  6. Oracle分页小谈
  7. Oracle数据库性能优化
  8. MPLS CSPF工作原理详解和相关实验
  9. 程序员需培养企业家式的能力
  10. Mybatis mapper代理Dao开发