logback.xml 模板
- <?xml version="1.0" encoding="UTF-8"?>
- <!--configuration 根节点,包含下面三个属性:
- scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
- scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
- debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
- -->
- <configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="http://www.padual.com/java/logback.xsd"
- scan="true" scanPeriod="60 seconds" debug="false">
- <!--子节点<property> :用来定义变量值,它有两个属性name和value,通过<property>定义的值会被插入到logger上下文中,可以使“${}”来使用变量。name: 变量的名称; value: 变量定义的值-->
- <!--logback日志显示级别:TRACE < DEBUG < INFO < WARN < ERROR -->
- <!-- logger.trace("msg) logger.debug......-->
- <property name = "log.level" value = "debug"/>
- <!--日志文件最大保留数量-->
- <property name = "log.maxHistory" value = "30"/>
- <!--日志保存的根路径-->
- <property name = "log.filePath" value = "${catalina.base}/logs/webapps"/>
- <!--日志文件显示格式 具体时间,哪一个线程,级别,日志相关信息-->
- <property name = "log.pattern" value = "%d{yyyy-MM-dd HH:mm:ss:SSS} [%thr ead] %-5level %logger{50} - %msg%n"/>
- <!--子节点<appender>:负责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名-->
- <!--控制台打印-->
- <!--ConsoleAppender 把日志输出到控制台,有以下子节点:
- <encoder>:对日志进行格式化。
- <target>:字符串System.out(默认)或者System.err
- -->
- <appender name = "consoleAppender" class = "ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- </appender>
- <!--DEBUG 输入到文件-->
- <!--RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。有以下子节点:
- <file>:被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。
- <append>:如果是 true,日志被追加到文件结尾,如果是 false,清空现存文件,默认是true。
- <rollingPolicy>:当发生滚动时,决定RollingFileAppender的行为,涉及文件移动和重命名。属性class定义具体的滚动策略类
- class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy": 最常用的滚动策略,它根据时间来制定滚动策略,既负责滚动也负责出发滚动。有以下子节点:
- <fileNamePattern>:必要节点,包含文件名及“%d”转换符,“%d”可以包含一个java.text.SimpleDateFormat指定的时间格式,如:%d{yyyy-MM}。
- 如果直接使用 %d,默认格式是 yyyy-MM-dd。RollingFileAppender的file字节点可有可无,通过设置file,可以为活动文件和归档文件指定不同位置,当前日志总是记录到file指定的文件(活动文件),活动文件的名字不会改变;
- 如果没设置file,活动文件的名字会根据fileNamePattern 的值,每隔一段时间改变一次。“/”或者“\”会被当做目录分隔符。
- <maxHistory>: 可选节点,控制保留的归档文件的最大数量,超出数量就删除旧文件。假设设置每个月滚动,且<maxHistory>是6,则只保存最近6个月的文件,删除之前的旧文件。注意,删除旧文件是,那些为了归档而创建的目录也会被删除。
- -->
- <appender name = "debugAppender" class = "ch.qos.logback.core.rolling.RollingFileAppender">
- <!--设置日志文件路径-->
- <file>${log.filePath}/debug.log</file>
- <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--设置日志文件名称-->
- <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
- <!--设置日志文件最大保存数量 -->
- <maxHistory>${log.maxHistory}</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- <!--添加过滤器-->
- <!--LevelFilter: 级别过滤器,根据日志级别进行过滤。如果日志级别等于配置级别,过滤器会根据onMath 和 onMismatch接收或拒绝日志。有以下子节点:
- <level>: 设置过滤级别
- <onMatch>: 用于配置符合过滤条件的操作
- <onMismatch>: 用于配置不符合过滤条件的操作
- -->
- <filter class = "ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!--INFO 输入到文件-->
- <appender name = "infoAppender" class = "ch.qos.logback.core.rolling.RollingFileAppender">
- <!--设置日志文件路径-->
- <file>${log.filePath}/info.log</file>
- <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--设置日志文件名称-->
- <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
- <!--设置日志文件最大保存数量 -->
- <maxHistory>${log.maxHistory}</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- <filter class = "ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!--WARN 输入到文件-->
- <appender name = "warnAppender" class = "ch.qos.logback.core.rolling.RollingFileAppender">
- <!--设置日志文件路径-->
- <file>${log.filePath}/warn.log</file>
- <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--设置日志文件名称-->
- <fileNamePattern>${log.filePath}/warn/warn.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
- <!--设置日志文件最大保存数量 -->
- <maxHistory>${log.maxHistory}</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- <filter class = "ch.qos.logback.classic.filter.LevelFilter">
- <level>WARN</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!--ERROR 输入到文件-->
- <appender name = "errorAppender" class = "ch.qos.logback.core.rolling.RollingFileAppender">
- <!--设置日志文件路径-->
- <file>${log.filePath}/error.log</file>
- <rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!--设置日志文件名称-->
- <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
- <!--设置日志文件最大保存数量 -->
- <maxHistory>${log.maxHistory}</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${log.pattern}</pattern>
- </encoder>
- <filter class = "ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- </appender>
- <!--子节点<logger>:用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender>。<logger>仅有一个name属性,一个可选的level和一个可选的addtivity属性。可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger
- name: 用来指定受此logger约束的某一个包或者具体的某一个类。
- level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特俗值INHERITED或者同义词NULL,代表强制执行上级的级别。 如果未设置此属性,那么当前logger将会继承上级的级别。
- additivity: 是否向上级logger传递打印信息。默认是true。同<logger>一样,可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个logger。
- -->
- <logger name = "com.ryanjie.o2o" level = "${log.level}" additivity = "true">
- <!--logger 与 appender 相互绑定-->
- <appender-ref ref = "debugAppender"/>
- <appender-ref ref = "infoAppender"/>
- <appender-ref ref = "warnAppender"/>
- <appender-ref ref = "eeorAppender"/>
- </logger>
- <!--子节点<root>:它也是<logger>元素,但是它是根logger,是所有<logger>的上级。只有一个level属性,因为name已经被命名为"root",且已经是最上级了。
- level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,不能设置为INHERITED或者同义词NULL。 默认是DEBUG。
- -->
- <root level = "info">
- <appender-ref ref = "consoleAppender"/>
- </root>
- </configuration>
logback.xml 模板的更多相关文章
- logback.xml模板详解
<?xml version="1.0" encoding="UTF-8"?> <!-- 配置文件每隔1分钟,就检查更新 --> < ...
- IDEA 配置默认pom,logback模板,XML模板
Default pom模板 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&qu ...
- 【转】logback logback.xml常用配置详解(二)<appender>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 【转】logback logback.xml常用配置详解(一)<configuration> and <logger>
原创文章,转载请指明出处:http://aub.iteye.com/blog/1101260, 尊重他人即尊重自己 详细整理了logback常用配置, 不是官网手册的翻译版,而是使用总结,旨在更快更透 ...
- 怎样给Eclipse添加一个Xml模板
1.找到Window/Preferences/XML/XML Files/Editor/Templates 2.新建一个模板,设置一个名称并且在Pattern中设置自己的XML模板就可以了,同时支持导 ...
- logback logback.xml常用配置详解(三)
logback logback.xml常用配置详解 <filter> <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之 ...
- logback.xml配置
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...
- 使用logback.xml配置来实现日志文件输出
转自:http://sungang-1120.iteye.com/blog/2104296 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback- ...
- logback logback.xml 常用配置详解
一:根节点<configuration>包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文 ...
随机推荐
- [转帖] k8s dashboard 的创建 升级 以及 admin token的创建和简单使用.
Kubernetes Dashboard中的身份认证详解 https://jimmysong.io/posts/kubernetes-dashboard-upgrade/ Thu Nov 2, 201 ...
- Windows 下面的 redis GUI操作工具
1. 下载地址 redisdesktop https://redisdesktop.com/download 2. 下载windows版本并且进行安装 处理redis 的参数 根据上面的一篇博客 采取 ...
- 索引器 C#
概述 索引器允许类或结构的实例就像数组一样进行索引. 索引器类似于属性,不同之处在于它们的访问器采用参数. 在下面的示例中,定义了一个泛型类,并为其提供了简单的 get 和 set 访问器方法(作为分 ...
- maven基础知识汇总
maven的dependency中scope=compile和provided的区别 对于scope=compile的情况(默认scope),也就是说这个项目在编译,测试,运行阶段都需要这个artif ...
- CF 1070J Streets and Avenues in Berhattan
DP的数组f其实开得不够大,应该开200000,但是它在cf上就是过了... 题意是把一堆字母分别分配到行和列. 分析一下,答案实际上只和n行中和m列中每种字母分配的个数有关.而且答案只和" ...
- anaconda的spyder打不开
因为最近一段时间没有用Spyder,今天使用时,发现Spyder又又打不开了. 之前遇到Spyder打不开的情况时,是根据这里的教程:删除.matplotlib和.spyder两个文件,但这次删除这两 ...
- Python day7之mysql
写在前面: 由于毕业论文撰写和答辩耽搁了几个月,但是在这几个月没有放弃学习Python,就是没有时间写博客.进行我们主要对数据库mysql的操作指令集的学习. 一.mysql术语 Mysql是最流行的 ...
- win10 Jmeter下载安装与使用教程
1.下载 2.安装 下载完成后解压文件(不需要安装) 之后需要配置jmeter环境变量 1)新增新增JMETER_HOME系统变量 2)编辑CLASSPATH变量,加上%JMETER_HOME%\li ...
- Sum 南京网络赛J题
题意: 统计每个数的因子的对数,如果因子能被某个平方数整除,则不统计在内,每对因子有序 解析: 我们对某个数n进行质因子分解,如果某个质因子的指数大于2则 f(n) = 0, 例 N = X3 * M ...
- 【刷题】BZOJ 1487 [HNOI2009]无归岛
Description Neverland是个神奇的地方,它由一些岛屿环形排列组成,每个岛上都生活着之中与众不同的物种.但是这些物种都有一个共同的生活习性:对于同一个岛上的任意两个生物,他们有且仅有一 ...