logback日志框架的简单使用
最近在自己搭建项目的时候,遇到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日志框架的简单使用相关推荐
- SLF4J和Logback日志框架详解
SLF4J和Logback日志框架详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文讲述SLF4J和Logback日志框架. SLF4J是一 ...
- 【SpringBoot】Logback日志框架介绍和SpringBoot整合实战
========================11.Logback日志框架介绍和SpringBoot整合实战 2节课================================ 1.新日志框架L ...
- (二):集成日志框架:springboot使用logback日志框架
前言 项目中日志系统是必不可少的,目前比较流行的日志框架有log4j.logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复lo ...
- Logback日志框架使用
目录 Logback简介 一.引入依赖 二.尝试生成一条日志 三.记录器 四.每个记录器的属性 五.XML配置文件配置框架 六.附加器Appender 七.过滤器Filter Logback简介 目前 ...
- Logback日志配置和简单使用
logback加载顺序 我们简单分析一下logback加载过程,当我们使用logback-classic.jar时,应用启动,那么logback会按照如下顺序进行扫描: 在classpath下寻找是否 ...
- SpringBoot整合Logback日志框架+Slf4j注解使用
文章目录 1.基本介绍 2.使用说明 2.1 引入maven依赖 2.2 创建logback-spring.xml 3.编写一个HTTP接口 3.1 通过创建LoggerFactory实例 3.2 通 ...
- logback日志框架的配置
一.logback-spring.xml配置文件 集成到springboot的yml格式配置文件的示例: logging:config: classpath:logback-spring.xml 下面 ...
- java日志框架JUL、JCL、Slf4j、Log4j、Log4j2、Logback 一网打尽
为什么程序需要记录日志 我们不可能实时的24小时对系统进行人工监控,那么如果程序出现异常错误时要如何排查呢?并且系统在运行时做了哪些事情我们又从何得知呢?这个时候日志这个概念就出现了,日志的出现对系统 ...
- 日志框架,选择Logback Or Log4j2?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:Nginx 为什么快到根本停不下来?个人原创100W+访问量博客:点击前往,查看更多 来源:https://jue ...
最新文章
- html防止iOS将数字识别为电话号码
- vi和vim的基础使用
- linux使用ntp时间同步
- linux临时文件创建失败,-bash: 无法为立即文档创建临时文件: 设备上没有空间
- win启动linux iso文件位置,安装Linux之后如何进入win系统?
- (pytorch-深度学习系列)正向传播与反向传播-学习笔记
- 2021中国集成电路行业投资市场研究报告
- 基于SSM的停车位收费系统
- 数据结构-六度空间(模拟六度分隔理论)
- 薄膜微压力传感器阵列
- CSO是什么?这家年增长48%的企业级软件公司告诉你
- APP开发:线上教育APP盈利模式分析
- android 美团下拉菜单,Android仿美团分类下拉菜单实例代码
- python jupyter notebook怎么调字体大小_配置Jupyter的代码主题 字体以及字体大小 代码自动补全...
- 匈牙利法及其最优性分析
- Linux 压缩、解压、打包操作
- Android智能电视焦点控制
- 一文看懂IO多路复用
- 陈天奇slide学习笔记
- mem***系列函数
热门文章
- layui select第一次无法选中_Windows 10 无法访问共享的解决办法大全
- 如何关闭文件服务器的同步,文件服务器同步
- 怎样查找共享文件_计算机操作系统学习笔记(五):文件管理
- g++ -std=c++_在C ++ std库中使用sort()
- srand和rand函数_了解C ++ rand()和srand()函数
- Java 12字符串方法
- testng教程_TestNG教程
- adalm pluto_Apache Pluto Portlet&Struts 2集成示例教程
- eclipse.ini vm参数– eclipse.ini文件位置Mac,Windows
- zookeeper入门学习之java api会话建立《四》