当前位置:网站首页>log4j.properties的配置详解
log4j.properties的配置详解
2022-06-27 11:55:00 【瑾琳】
##logger是进行记录的主要类,appender是记录的方式,layout是记录的格式
#Logger - 日志写出器,供程序员输出日志信息
#Appender - 日志目的地,把格式化好的日志信息输出到指定的地方去
#ConsoleAppender - 目的地为控制台的Appender
#FileAppender - 目的地为文件的Appender
#RollingFileAppender - 目的地为大小受限的文件的Appender
#Layout - 日志格式化器,用来把程序员的logging request格式化成字符串
#PatternLayout - 用指定的pattern格式化logging request的Layou
#Log4j提供的appender有以下几种:
# org.apache.log4j.ConsoleAppender(控制台),
# org.apache.log4j.FileAppender(文件),
# org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
# org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
# org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
#Log4j提供的layout有以下几种:
# org.apache.log4j.HTMLLayout(以HTML表格形式布局),
# org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
# org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
# org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
#Log4J采用类似C语言中的printf函数的打印格式格式化日志信息,打印参数如下
# %m 输出代码中指定的消息
# %M 输出日志发生的方法名
# %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
# %r 输出自应用启动到输出该log信息耗费的毫秒数
# %c 输出所属的类目,通常就是所在类的全名
# %t 输出产生该日志事件的线程名
# %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
# %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
# %L 输出日志发生的位置
# %F 输出类名
#####################################################################
#设置级别和目的地 -- 把日志等级为debug的日志信息输出到stdout和SYS,QUERY这三个目的地
log4j.rootLogger=info,STDOUT
# stdout:目的地 -- 打印到屏幕
## org.apache.log4j.ConsoleAppender:控制台
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
## org.apache.log4j.PatternLayout:灵活地指定布局模式
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%c-%M] %m%n [%-5p][%d{HH:mm:ss}][%l] %m%n
log4j.appender.STDOUT.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss sss}][%t][%c-%M][%L](%F:%L) - %m%n
# QUERY:目的地 -- 输出到文件(限定每个文件大小)
## 凡是 info、warn、error、fatal 级别的数据都会在这里执行输出到 query.log 日志文件中
##log4j.logger.QUERY=INFO,QUERY
log4j.logger.QUERY=INFO
##输出到文件(这里默认为追加方式),使用org.apache.log4j.FileAppender:日志会在一个文件中追加
log4j.appender.QUERY=org.apache.log4j.RollingFileAppender
##设置文件输出路径;html:log/query.html
log4j.appender.QUERY.File=log/query.log
##设置文件输出样式;html格式: org.apache.log4j.HTMLLayout
log4j.appender.QUERY.layout=org.apache.log4j.PatternLayout
## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n
log4j.appender.QUERY.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%c-%M] %m%n
## 指定文件的最大 大小
log4j.appender.QUERY.MaxFileSize=2048KB
## 可被备份的日志数
log4j.appender.QUERY.MaxBackupIndex=100
# SYS:目的地 -- 输出到文件(每天产生一个文件)
## 凡是 error、fatal 级别的数据都会在这里执行输出到 sys.log 日志文件中
#log4j.logger.SYS=error,SYS
log4j.logger.SYS=error
## org.apache.log4j.RollingFileAppender:每天产生一个日志文件
#使用org.apache.log4j.FileAppender:日志会在一个文件中追加
log4j.appender.SYS=org.apache.log4j.DailyRollingFileAppender
##设置文件输出路径 ${user.home}/log/sys.log
log4j.appender.SYS.File=log/sys.log
## org.apache.log4j.PatternLayout:灵活地指定布局模式
log4j.appender.SYS.layout=org.apache.log4j.PatternLayout
## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n
log4j.appender.SYS.layout.ConversionPattern=[%-5p][%d{HH:mm:ss}][%C-%M] %m%n
#设置特定包的级别
##com.swh.weixin包下的日志内容显示级别为debug,和目的地
## 把com.swh.weixin.util包下日志等级为debug的信息输出到pack 目的地
#log4j.logger.com.swh.weixin.util=debug,pack
##输出到文件(这里默认为追加方式),使用org.apache.log4j.FileAppender:日志会在一个文件中追加
log4j.appender.pack=org.apache.log4j.RollingFileAppender
##设置文件输出路径 或者 ${user.home}/log/pack.log
log4j.appender.pack.File=log/pack.log
##设置文件输出样式
log4j.appender.pack.layout=org.apache.log4j.PatternLayout
## 上一句设置了PatternLayout灵活指定格式,则要指定打印参数 [%-5p][%d{HH:mm:ss}][%l] %m%n
log4j.appender.pack.layout.ConversionPattern=[%-5p][%d{yyyy MM dd HH:mm:ss}][%c-%M] %m%n
## 指定文件的最大 大小
log4j.appender.pack.MaxFileSize=1024KB
#日志最大备份数目
log4j.appender.pack.MaxBackupIndex=100
########################################################################
##设置级别和目的地
#log4j.rootLogger=debug,appender1,appender2
##只设置特定包的级别和目的地
#log4j.logger.com.coderdream=debug,appender1
#log4j.logger.com.coderdream.Dao=info,appender1,appender2
##输出到控制台
#log4j.appender.appender1=org.apache.log4j.ConsoleAppender
##设置输出样式
#log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
##自定义样式
## %r 时间 0
## %t 方法名 main
## %p 优先级 DEBUG/INFO/ERROR
## %c 所属类的全名(包括包名)
## %l 发生的位置,在某个类的某行
## %m 输出代码中指定的讯息,如log(message)中的message
## %n 输出一个换行符号
#log4j.appender.appender1.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M] %m%n
##输出到文件(这里默认为追加方式)
#log4j.appender.appender2=org.apache.log4j.FileAppender
##设置文件输出路径
##【1】文本文件
#log4j.appender.appender2.File=c:/Log4JCRM_Dao.log
##设置文件输出样式
#log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
#log4j.appender.appender2.layout.ConversionPattern=[%d{HH:mm:ss:SSS}][%C-%M] -%m%n
##把日志文件写入数据库
##########################日志输出到远程数据库########################################
##把日志文件写入数据库
##记录的日志级别
log4j.logger.db=info
##日志输出到数据库
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
##缓存
log4j.appender.db.BufferSize=0
##数据库驱动
log4j.appender.db.Driver=com.mysql.jdbc.Driver
##数据url地址 ,本地可简写:jdbc:mysql:///test
log4j.appender.db.URL=jdbc:mysql://192.168.235.128:3306/swh_hibernate4?useUnicode=true&characterEncoding=utf8
##数据库用户名
log4j.appender.db.User=root
##数据库密码
log4j.appender.db.Password=123456
##日志布局模式
log4j.appender.db.layout=org.apache.log4j.PatternLayout
##日志插入数据库中,t_logs 表字段可自定义
log4j.appender.db.layout.ConversionPattern=INSERT INTO t_logs(createDate, thread, priority, category,<br />
methodName, message) values('%d', '%t', '%-5p', '%c','%M', '[%l]-%m')
边栏推荐
- Interviewer: with the for loop, why do you need foreach?
- Wechat applet payment password input
- In 2021, the global professional liability insurance revenue was about USD 44740million, and it is expected to reach USD 55980million in 2028. From 2022 to 2028, the CAGR was 3.5%
- 秒云荣获《2022爱分析 · IT运维厂商全景报告》智能运维AIOps市场代表厂商
- Tidb 6.0: making Tso more efficient tidb Book rush
- Histrix工作原理
- 面试突击60:什么情况会导致 MySQL 索引失效?
- 剑指 Offer 04. 二维数组中的查找
- 等等, 怎么使用 SetMemoryLimit?
- Take stock of some easy-to-use and niche markdown editors
猜你喜欢

MapReduce实战小案例(自定义排序、二次排序、分组、分区)

Popular science of device review: popular science of innovative medical device series - sternum plate products

优博讯出席OpenHarmony技术日,全新打造下一代安全支付终端

Youboxun attended the openharmony technology day to create a new generation of secure payment terminals

巅峰小店APP仿站开发玩法模式讲解源码分享
![[on Nacos] get started quickly](/img/cc/af4ab640952b880595a89f66688ff5.jpg)
[on Nacos] get started quickly

Research Report on the overall scale, major producers, major regions, products and application segments of swine vaccine in the global market in 2022

mysql学习1:安装mysql

TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

57. The core principle of flutter - layout process
随机推荐
Hands on API development
uniapp下拉弹层选择框效果demo(整理)
建木持续集成平台v2.5.0发布
master公式
mysql学习1:安装mysql
AI for Science:科研范式、开源平台和产业形态
如何修改 node_modules 里的文件
build.gradle 配置
This privatized deployed enterprise knowledge base makes telecommuting a zero distance
1. Mx6ull startup mode
剑指 Offer 04. 二维数组中的查找
Research Report on the overall scale, major manufacturers, major regions, products and application segments of hydraulic torque in the global market in 2022
TiDB 6.0:让 TSO 更高效丨TiDB Book Rush
Interview shock 60: what will cause MySQL index invalidation?
Go Web 编程入门:验证器
How to find the movie and TV clips with the same lines? These 8 movies search for artifact, and find the corresponding segment in one line
Unity Shader学习(二)第一个Shader
聊聊 Go 语言与云原生技术
Dynamic programming [4] (counting class DP) example: integer partition
Neo4j:入门基础(一)之安装与使用