当前位置: 首页 > news >正文

日志打印的学习之log4j2(二)进阶案例

日志级别简述:

trace追踪,就是程序推进一下,可以写个trace输出
debug调试,一般作为最低级别,trace基本不用。
info输出重要的信息,使用较多
warn警告,有些信息不是错误信息,但也要给程序员一些提示。
error错误信息。用的也很多。
fatal致命错误

日志输出形式

console输出到控制台
file输出到文件

日志配置的三大元素

configuration根节点
appender附加器,用与声明日志的打印方式,一般是Console,File,RollingFile
loggers引用附加器,声明调用附加器的点,root节点是必须配置的,代表全局的日志打印配置,logger代表局部自定义的日志打印配置

日志配置的具体属性配置:

<?xml version="1.0" encoding="UTF-8"?>
<!--根节点Configuration两个属性:status:用来指定log4j本身的打印日志的级别 monitorinterval:用于指定log4j自动重新配置的监测间隔时间,单位是s,最小是5s-->
<configuration status="info" monitorinterval="5" ><!--日志级别以及优先级排序: OFF > FATAL > ERROR > WARN > INFO > DEBUG > TRACE > ALL --><!--    自定义变量--><properties><property name="logPath" value="D:/log"/></properties><!--附加器节点 Appenders节点 : 常见的有三种子节点:Console、RollingFile、File; .--><appenders> <!--Console节点用来定义输出日志到控制台的Appender--><!--name:指定Appender的名字.--><!--target:SYSTEM_OUT 或 SYSTEM_ERR,一般只设置默认:SYSTEM_OUT.--><Console name="Console" target="SYSTEM_OUT"><!--输出格式--><!--SimpleLayout	    以简单的形式显示--><!--HTMLLayout	        以HTML表格显示--><!--PatternLayout	    自定义形式显示 不设置默认为:%m%n--><!-- %d{HH:mm:ss.SSS}	表示输出到毫秒的时间--><!-- %t	                输出当前线程名称--><!-- %-5level	        输出日志级别,-5表示左对齐并且固定输出5个字符,如果不足在右边补0--><!-- %logger	        输出logger名称--><!-- %msg	            日志文本--><!-- %n	                换行--><!-- %F	                输出所在的类文件名,如Log4j2Test.java--><!-- %L	                输出行号--><!-- %M	                输出所在方法名--><!-- %l	                输出语句所在的行数, 包括类名、方法名、文件名、行数--><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></Console><!--File节点用来定义输出到指定位置的文件的Appender--><!--name:指定Appender的名字.--><!--fileName:指定输出日志的目的文件带全路径的文件名.--><file name="file" fileName="${logPath}/fileLog/myFile.log"><!--PatternLayout	自定义形式显示 不设置默认为:%m%n--><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/></file><!--RollingFile节点用来定义超过指定条件自动删除旧的创建新的Appender--><!--name:指定Appender的名字.--><!--fileName:指定输出日志的目的文件带全路径的文件名.--><!--filePattern : 指定当发生Rolling时,文件的转移和重命名规则.--><RollingFile name="rollingFile" fileName="${logPath}/rollingFileLog/rollingFile.log" filepattern="${logPath}/rollingFileLog/rollingFile-%d{yyyy-MM-dd}_%i.log.gz"><!--PatternLayout	自定义形式显示 不设置默认为:%m%n--><PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/><!--Policies:指定滚动日志的策略,就是什么时候进行新建日志文件输出日志.--><Policies ><!--TimeBasedTriggeringPolicy:Policies子节点,基于时间的滚动策略,nterval属性用来指定多久滚动一次,默认是1 hour。modulate=true用来调整时间:以凌晨为零点为基准线,interval是6,那么第一次滚动是在 0+6点  第二次就是 0+6+6=12点 --><TimeBasedTriggeringPolicy interval="6"/><!--SizeBasedTriggeringPolicy:Policies子节点,基于指定文件大小的滚动策略,size属性用来定义每个日志文件的大小.--><SizeBasedTriggeringPolicy size="10MB"/><!--DefaultRolloverStrategy:用来指定同一个文件夹下最多有几个日志文件时开始删除最旧的,创建新的(通过max属性),不设置则默认为最多同一文件夹下7个文件开始覆盖--><DefaultRolloverStrategy max="5"/></Policies></RollingFile></appenders><!--在loggers中引用appender附加器 Root节点用来指定项目的根日志,如果没有单独指定Logger,那么就会默认使用该Root日志输出--><loggers><!--Logger节点用来单独指定日志的形式,name:用来指定该Logger所适用的类或者类所在的包全路径,继承自Root节点。--><logger name="com.example" level="info" additivity="false"><AppenderRef ref="Console"/></logger><!--若是additivity设为false,则只会在自己的appender里输出,而不会在 父Logger(一般是指root节点) 的appender里输出。--><Logger name="org.springframework" level="info" additivity="false"><AppenderRef ref="Console"/></Logger><!--根节点附加器,全局--><root level="info">   <!-- AppenderRef子节点,用来指定该日志输出到哪个Appender.--><appender-ref ref="Console"/><appender-ref ref="file"/><appender-ref ref="rollingFile"/></root></loggers>
</configuration>

http://www.lryc.cn/news/332870.html

相关文章:

  • c语言实现2048小游戏
  • 159 Linux C++ 通讯架构实战14,epoll 函数代码实战
  • 【鹅厂摸鱼日记(一)】(工作篇)认识八大技术架构
  • CA根证书——https安全保障的基石
  • Spark-Scala语言实战(10)
  • 【C++庖丁解牛】高阶数据结构---红黑树详解(万字超详细全面介绍红黑树)
  • 汽车网络安全管理
  • 文本自动粘贴编辑器:支持自动粘贴并筛选手机号码,让信息处理更轻松
  • Linux云计算之网络基础9——园区网络架构项目
  • Java 中的 List 集合
  • 数据库之DDL操作(数据库,表,字段)
  • 5.3.1 配置交换机 SSH 管理和端口安全
  • Django--数据库连接
  • CKA 基础操作教程(二)
  • 【SQLServer】快速查看SQL Server中所有数据库中所有表的行数
  • Node.js------Express
  • CSS - 你实现过0.5px的线吗
  • hbuilderX创建的uniapp项目转移到vscode
  • JavaScript 事件流
  • HTML——5.表单、框架、颜色
  • Docker、Kubernetes之间的区别
  • 【21-40】计算机网络基础知识(非常详细)从零基础入门到精通,看完这一篇就够了
  • 软考111-上午题-【计算机网络】-URL和DNS
  • EasyCVR视频汇聚平台海康Ehome2.0与5.0设备接入时的配置区别
  • echarts实现炫酷科技感的流光效果
  • 从多模态生物图数据中学习Gene的编码-MuSeGNN
  • Redis Desktop Manager可视化工具
  • ARM汇编与逆向工程:揭秘程序背后的神秘世界
  • idea使用docker将Java项目生成镜像并使用
  • clickhouse sql使用2