最近在自己搭建项目的时候,遇到logback选的问题,现在记录如下

在框架中使用logback日志框架,关于logback和log4j日志框架的选择,这里就不多说了网上百度一大堆,总之一句话 logback要比log4j效率高,性能好,配置灵活。

1.首先在maven中增加依赖

<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version>
</dependency>
<dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${jcl-over.version}</version>
</dependency>

定义各自版本

  <logback.version>1.1.11</logback.version><jcl-over.version>1.7.12</jcl-over.version>

因为采用的是maven聚合项目,所以这里 parent项目和common项目都需要加上,但是只需要给parent项目添加版本管理就行了

2.web.xml配置

<!--加载logback.xml配置文件--><context-param><param-name>logbackConfigLocation</param-name><param-value>classpath:properties/logback.xml</param-value></context-param><listener><listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class></listener>

3.编写logback.xml

在线工具,可以将log4j的properties文件直接转换成logback的xml文件,地址如下:

http://logback.qos.ch/translator/

logback的详细用法及其xml文件的相关语法,可参见它的用户向导,地址如下:

http://logback.qos.ch/manual/introduction.html

具体配置可以如下:(转自http://www.mkyong.com/logging/logback-xml-example/)更加具体的配置可以参考 文档 https://logback.qos.ch/manual/configuration.html

<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd" debug="false"scan="true" scanPeriod="30 second"><property name="PROJECT" value="app-demo" /><property name="ROOT" value="${catalina.base}/logs/${PROJECT}/" /><property name="FILESIZE" value="50MB" /><property name="MAXHISTORY" value="100" /><timestamp key="DATETIME" datePattern="yyyy-MM-dd HH:mm:ss" /><!-- 控制台打印 --><appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder></appender><!-- ERROR 输入到文件,按日期和文件大小 --><appender name="ERROR-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>ERROR</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern><maxHistory>${MAXHISTORY}</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${FILESIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy></appender><!-- WARN 输入到文件,按日期和文件大小 --><appender name="WARN-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>WARN</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern><maxHistory>${MAXHISTORY}</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${FILESIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy></appender><!-- INFO 输入到文件,按日期和文件大小 --><appender name="INFO-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>INFO</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern><maxHistory>${MAXHISTORY}</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${FILESIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy></appender><!-- DEBUG 输入到文件,按日期和文件大小 --><appender name="DEBUG-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>DEBUG</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern><maxHistory>${MAXHISTORY}</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${FILESIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy></appender><!-- TRACE 输入到文件,按日期和文件大小 --><appender name="TRACE-OUT" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><level>TRACE</level><onMatch>ACCEPT</onMatch><onMismatch>DENY</onMismatch></filter><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern><maxHistory>${MAXHISTORY}</maxHistory><timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"><maxFileSize>${FILESIZE}</maxFileSize></timeBasedFileNamingAndTriggeringPolicy></rollingPolicy></appender><!-- Logger 根目录 --><root level="DEBUG"><appender-ref ref="STDOUT" /><appender-ref ref="ERROR-OUT" /><appender-ref ref="WARN-OUT" /><appender-ref ref="INFO-OUT" /><appender-ref ref="DEBUG-OUT" /><appender-ref ref="TRACE-OUT" /></root>
</configuration>

启动项目,效果如下:

在百度资料的时候发现 控制台还可以给不同的日志级别有不同的颜色,好吧,原谅我的无知。插件名:grep-console

测试结果如下:

转载于:https://www.cnblogs.com/l919310075/p/8868387.html

logback日志框架的简单使用相关推荐

  1. SLF4J和Logback日志框架详解

    SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架.    SLF4J是一 ...

  2. 【SpringBoot】Logback日志框架介绍和SpringBoot整合实战

    ========================11.Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1.新日志框架L ...

  3. (二):集成日志框架:springboot使用logback日志框架

    前言 项目中日志系统是必不可少的,目前比较流行的日志框架有log4j.logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复lo ...

  4. Logback日志框架使用

    目录 Logback简介 一.引入依赖 二.尝试生成一条日志 三.记录器 四.每个记录器的属性 五.XML配置文件配置框架 六.附加器Appender 七.过滤器Filter Logback简介 目前 ...

  5. Logback日志配置和简单使用

    logback加载顺序 我们简单分析一下logback加载过程,当我们使用logback-classic.jar时,应用启动,那么logback会按照如下顺序进行扫描: 在classpath下寻找是否 ...

  6. SpringBoot整合Logback日志框架+Slf4j注解使用

    文章目录 1.基本介绍 2.使用说明 2.1 引入maven依赖 2.2 创建logback-spring.xml 3.编写一个HTTP接口 3.1 通过创建LoggerFactory实例 3.2 通 ...

  7. logback日志框架的配置

    一.logback-spring.xml配置文件 集成到springboot的yml格式配置文件的示例: logging:config: classpath:logback-spring.xml 下面 ...

  8. java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽

    为什么程序需要记录日志 我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统 ...

  9. 日志框架,选择Logback Or Log4j2?

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:Nginx 为什么快到根本停不下来?个人原创100W+访问量博客:点击前往,查看更多 来源:https://jue ...

最新文章

  1. html防止iOS将数字识别为电话号码
  2. vi和vim的基础使用
  3. linux使用ntp时间同步
  4. linux临时文件创建失败,-bash: 无法为立即文档创建临时文件: 设备上没有空间
  5. win启动linux iso文件位置,安装Linux之后如何进入win系统?
  6. (pytorch-深度学习系列)正向传播与反向传播-学习笔记
  7. 2021中国集成电路行业投资市场研究报告
  8. 基于SSM的停车位收费系统
  9. 数据结构-六度空间(模拟六度分隔理论)
  10. 薄膜微压力传感器阵列
  11. CSO是什么?这家年增长48%的企业级软件公司告诉你
  12. APP开发:线上教育APP盈利模式分析
  13. android 美团下拉菜单,Android仿美团分类下拉菜单实例代码
  14. python jupyter notebook怎么调字体大小_配置Jupyter的代码主题 字体以及字体大小 代码自动补全...
  15. 匈牙利法及其最优性分析
  16. Linux 压缩、解压、打包操作
  17. Android智能电视焦点控制
  18. 一文看懂IO多路复用
  19. 陈天奇slide学习笔记
  20. mem***系列函数

热门文章

  1. layui select第一次无法选中_Windows 10 无法访问共享的解决办法大全
  2. 如何关闭文件服务器的同步,文件服务器同步
  3. 怎样查找共享文件_计算机操作系统学习笔记(五):文件管理
  4. g++ -std=c++_在C ++ std库中使用sort()
  5. srand和rand函数_了解C ++ rand()和srand()函数
  6. Java 12字符串方法
  7. testng教程_TestNG教程
  8. adalm pluto_Apache Pluto Portlet&Struts 2集成示例教程
  9. eclipse.ini vm参数– eclipse.ini文件位置Mac,Windows
  10. zookeeper入门学习之java api会话建立《四》