日志log4j.properties配置

硅谷探秘者 2060 0 0

日志log4j.properties配置


1.完整示例:

##屏蔽com.mchange.v2包下面的debug,info,warn信息
##log4j.logger.xxx=error意为屏蔽xxx包下的日志信息
log4j.logger.com.mchange.v2=ERROR

## log4j.rootLogger配置语法为:log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
## level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。
## 		Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。
##		通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。
##		比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
## appenderName:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
## 例如:log4j.rootLogger=info,A1,B2,C3 配置了3个输出地方,这个名字可以任意,但必须与我们在后面进行的设置名字对应;
log4j.rootLogger=debug,stdout,DEBUG,INFO,WARN,ERROR

##在控制台打印日志信息,默认最低级别debug级别 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.Target=System.out  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%m%n  

##让debug日志输出到指定文件E:/logs/debug.log 
log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.DEBUG.File=E:/logs/debug.log  
log4j.appender.DEBUG.Append=true  
log4j.appender.DEBUG.Threshold=DEBUG  
log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout  
log4j.appender.DEBUG.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n 
##设置日志输出的最大级别和最小级别,LevelMin=DEBUG,LevelMax=DEBUG,意为只把debug日志输出到文件 
log4j.appender.DEBUG.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.DEBUG.filter.F1.LevelMin=DEBUG
log4j.appender.DEBUG.filter.F1.LevelMax=DEBUG

##让info日志输出到指定文件E:/logs/info.log
log4j.appender.INFO=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.INFO.File=E:/logs/info.log  
log4j.appender.INFO.Append=true  
log4j.appender.INFO.Threshold=INFO  
log4j.appender.INFO.layout=org.apache.log4j.PatternLayout  
log4j.appender.INFO.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
##设置日志输出的最大级别和最小级别
log4j.appender.INFO.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.INFO.filter.F1.LevelMin=INFO
log4j.appender.INFO.filter.F1.LevelMax=INFO

##让warn日志输出到指定文件E:/logs/warn.log
log4j.appender.WARN=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.WARN.File=E:/logs/warn.log  
log4j.appender.WARN.Append=true  
log4j.appender.WARN.Threshold=WARN  
log4j.appender.WARN.layout=org.apache.log4j.PatternLayout  
log4j.appender.WARN.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
##设置日志输出的最大级别和最小级别
log4j.appender.WARN.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.WARN.filter.F1.LevelMin=WARN
log4j.appender.WARN.filter.F1.LevelMax=WARN

##让error日志输出到指定文件E:/logs/error.log 
log4j.appender.ERROR=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.ERROR.File=E:/logs/error.log  
log4j.appender.ERROR.Append=true  
log4j.appender.ERROR.Threshold=ERROR  
log4j.appender.ERROR.layout=org.apache.log4j.PatternLayout  
log4j.appender.ERROR.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
##设置日志输出的最大级别和最小级别
log4j.appender.ERROR.filter.F1=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.ERROR.filter.F1.LevelMin=ERROR
log4j.appender.ERROR.filter.F1.LevelMax=ERROR
# 这里需要说明的就是日志信息格式中几个符号所代表的含义:
# -X号: X信息输出时左对齐;
# %p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
# %d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
# %r: 输出自应用启动到输出该log信息耗费的毫秒数
# %c: 输出日志信息所属的类目,通常就是所在类的全名
# %t: 输出产生该日志事件的线程名
# %l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
# %x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
# %%: 输出一个"%"字符
# %F: 输出日志消息产生时所在的文件名称
# %L: 输出代码中的行号
# %m: 输出代码中指定的消息,产生的日志具体信息
# %n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行
# 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
# 1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。
# 2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。
# 3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。
# 4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。

日志信息的优先级

Level描述
ALL各级包括自定义级别
DEBUG指定细粒度信息事件是最有用的应用程序调试
ERROR错误事件可能仍然允许应用程序继续运行
FATAL指定非常严重的错误事件,这可能导致应用程序中止
INFO指定能够突出在粗粒度级别的应用程序运行情况的信息的消息
OFF这是最高等级,为了关闭日志记录
TRACE指定细粒度比DEBUG更低的信息事件
WARN指定具有潜在危害的情况


image.png

测试ok

猜你喜欢
框架 1356 ?xmlversion="1.0"encoding="UTF-8"?!DOCTYPElog4j:configurationPUBLIC"-//log4j/log4jConfiguration//EN""log4j.dtd"log4j:configuration!--输出到控制台--appendername="consoleAppender"class="org.apache.log4j.Conso
框架 533 }/pattern/layoutencoderpattern${PATTERN}/patterncharsetUTF-8/charset/encoder/appender!--下面一些第三方包的过滤级别,用
数据库 549 开启和设二进制切换二进制相关参数二进制恢复数据库上一篇文章介绍了普通查询和慢查询等参考:mysql分析,本篇主要介绍二进制。一、什么是二进制  二进制主要记
数据库 485 错误一般查询慢查询官方手册:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html不管是哪个数据库产品,一定会有文件。在
框架 2978 springaop实现操作记录此次的目的是实现对controller中的方法执行情况进行记录,记录的有方法执行时间,操作人,请求的路径,方法的入参,模块,功能等。并实现利用注解的方式实现对被操作
nginx 521 /nginx-sreopen重新打开文件。./sbin/nginx-t不运行,而仅仅测试文件。nginx将检查文件的语法的正确性,并尝试打开文件中所引用到的文件。./sbin/nginx-v显示nginx的版本。./sbin/nginx-V显示nginx的版本,编译器版本和参数。
数据库,mysql 180 主从复制的基本原理 (1)master服务器将数据的改变记录二进制binlog,当master上的数据发生改变时,则将其改变写入二进制中;(2)slave服务器会在一定时间间隔内对
框架 3138 #当中需要内存大小时,可以使用1k,5GB,4M等类似的格式,其转换方式如下(不区分大小写)##1k=1000bytes#1kb=1024bytes#1m=1000000bytes#1mb
归档
2018年11月  12 2018年12月  33 2019年01月  28 2019年02月  28 2019年03月  32 2019年04月  27 2019年05月  33 2019年06月  6 2019年07月  12 2019年08月  12 2019年09月  21 2019年10月  8 2019年11月  15 2019年12月  25 2020年01月  9 2020年02月  5 2020年03月  16 2020年04月  4 2020年06月  1 2020年07月  7 2020年08月  13 2020年09月  9 2020年10月  5 2020年12月  3 2021年01月  1 2021年02月  5 2021年03月  7 2021年04月  4 2021年05月  4 2021年06月  1 2021年07月  7 2021年08月  2 2021年09月  8 2021年10月  9 2021年11月  16 2021年12月  14 2022年01月  7 2022年05月  1 2022年08月  3 2022年09月  2 2022年10月  2
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。