【建议收藏】Log4j配置详解
大家在日常开发中必然会使用到日志组件,Log4j是Java方向上比较常用的日志组件,今天给大家分享下Log4j支持的配置项,强烈建议收藏,以便配置时查看
#展示log4j各种配置,私有部分见文件中注释,公有部分详细注释见文件最后
log4j.rootLogger=DEBUG,console,file,rolling,daily,DATABASE,MAIL #控制台
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n #普通文件
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.Encoding=UTF-8
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n
log4j.appender.file.File=../logs/file.log
log4j.appender.file.Append=true
log4j.appender.rolling.Threshold=DEBUG #轮转文件
log4j.appender.rolling=org.apache.log4j.RollingFileAppender
log4j.appender.rolling.layout=org.apache.log4j.PatternLayout
log4j.appender.rolling.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n
log4j.appender.rolling.Append=true
log4j.appender.rolling.Encoding=UTF-8
log4j.appender.rolling.Threshold=DEBUG
#表示最多保存10个日志文件
log4j.appender.rolling.MaxBackupIndex=10
log4j.appender.rolling.File=../logs/rolling.log
log4j.appender.rolling.MaxFileSize=10MB #按日期区分
log4j.appender.daily=org.apache.log4j.DailyRollingFileAppender
log4j.appender.daily.layout=org.apache.log4j.PatternLayout
log4j.appender.daily.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n
log4j.appender.daily.Append=true
log4j.appender.daily.Encoding=UTF-8
log4j.appender.daily.Threshold=DEBUG
log4j.appender.daily.File=../logs/daily.log
# 表示重开文件的频率
# yyyy-MM,对应monthly(每月)
# yyyy-ww,对应weekly(每周)
# yyyy-MM-dd,对应daily(每天)
# yyyy-MM-dd-a,对应half-daily(每半天)
# yyyy-MM-dd-HH,对应hourly(每小时)
# yyyy-MM-dd-HH-mm,对应minutely(每分钟)
# 不用处理的文字放在单引号之间
log4j.appender.daily.DatePattern='.'yyyy-MM-dd'.log' #写入数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test
log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=root
log4j.appender.DATABASE.sql=INSERT INTO test (text) VALUES ('%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n #发送邮件
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.From=7610aotian@sina.com
log4j.appender.MAIL.SMTPHost=smtp.sina.com
log4j.appender.MAIL.Subject=Log4J Message
log4j.appender.MAIL.To=7610aotian@sina.com
#发件箱登陆用户名
log4j.appender.MAIL.SMTPUsername=******
#发件箱登陆密码
log4j.appender.MAIL.SMTPPassword=******
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n # 定义输出级别和输出端(A1,A2,A3....)
# DEBUG: 指出细粒度信息事件对调试应用程序是非常有帮助的,就是输出debug的信息.
# INFO: 表明消息在粗粒度级别上突出强调应用程序的运行过程,就是输出提示信息.
# WARN: 表明会出现潜在错误的情形,就是显示警告信息.
# ERROR: 指出虽然发生错误事件,但仍然不影响系统的继续运行.就是显示错误信息.
# FATAL: 指出每个严重的错误事件将会导致应用程序的退出.
# ALL: 是最低等级的,用于打开所有日志记录.
# OFF: 是最高等级的,用于关闭所有日志记录.
# log4j建议只使用五个级别,级别顺序(由低到高): DEBUG < INFO < WARN < ERROR < FATAL
# windows下控制台效率比较差,输出的多了,非常影响服务器性能.
# 调试程序用debug或更低的优先级,这样开发的时候可以尽量输出,方便调试.
# 正式部署之后,可以提高日志的级别,只输出关键信息
log4j.rootLogger=DEBUG,*,*,*,*...... # 定义A1输出到控制器
# ConsoleAppender:写到控制台
# FileAppender:写到指定的文件中
# DailyRollingFileAppender:把Log信息输出到按照日期来区分的文件中,每天产生一个log文件
# RollingFileAppender:文件大小到达指定尺寸的时候产生一个新的文件
# WriterAppender:将日志信息以流格式发送到任意指定的地方(需要配合代码进行,不常用)
# JDBCAppender:输出日志文件到数据库
# SMTPAppender:发送到指定邮箱
log4j.appender.*=org.apache.log4j.ConsoleAppender # 定义A1的布局模式
# HTMLLayout:以HTML表格形式布局
# PatternLayout:可以灵活地指定布局模式,就是可以自定义输出样式
# SimpleLayout:包含日志信息的级别和信息字符串
# TTCCLayout:包含日志产生的时间、线程、类别等等信息
log4j.appender.*.layout=org.apache.log4j.PatternLayout # 定义A1的输出格式
# %m 输出代码中指定的消息
# %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
# %r 输出自应用启动到输出该log信息耗费的毫秒数
# %t 输出产生该日志事件的线程名;
# %n 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"
# %d 输出日志时间的日期或时间,默认格式为ISO8601,也可以在其后指定格式
# %c 输出所属的类目,通常就是所在类的全名,如“iNotes.Default”;
# %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数
# %L 输出代码中的行数;
# %F 输出代码中的文件名;
log4j.appender.*.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} - [%p] - [%l] %m%n

【建议收藏】Log4j配置详解的更多相关文章
- Log4j配置详解之log4j.xml
Log4j配置详解之log4j.xml Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息. ...
- log4j日志输出到日志文件中和控制台中 +log4j配置详解
1.引入log4j的jar包 https://mvnrepository.com/,可以找到log4j的jar和依赖. 2.创建log4j.properties,并配置log4j #设置日志的级别 , ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- log4j配置详解[http://www.iteye.com/topic/378077]
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j. 首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址: http://logging.apache. ...
- log4j 配置详解
参考如下两个网址,讲的很详细,先看第一个再看第二个: log4j使用介绍:http://swiftlet.net/archives/683 java日志处理组件log4j--log4j.xml配置详解 ...
- log4j配置详解(非常详细)
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- (二) Log4j 配置详解
第一节: rootLogger 根配置 Log4j 根配置语法 log4j.rootLogger = [ level ] , appenderName, appenderName, … 指代 把指定级 ...
- (二)log4j 配置详解
原文链接:https://blog.csdn.net/liupeifeng3514/article/details/79625013 1.配置根logger log4j.rootLogger = de ...
- log4j配置详解
Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境 ...
- Log4j配置详解及不同的包(package)下的日志写入到不同的日志文件下
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt262 以下都是log4j.properties要写入的内容: 一:参数介绍: ...
随机推荐
- PHP微信三方平台-微信支付(扫码支付)
1.官方文档地址: https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1 2.逻辑分析: 生成支付二维码->用户扫码支付-& ...
- 一文带你弄懂 Maven 拉包原理
业务需求开发的时候,我们总是会遇到拉不到依赖包的情况.此时如果不清楚 Maven 拉取依赖包的原理,那么很可能找不到问题所在.今天树哥就带大家了解下 Maven 拉包的原理,让你在遇到问题的时候能快速 ...
- 生产计划问题(动态规划)—R实现
动态规划 动态规划(英语:Dynamic programming,简称 DP),是一种在数学.管理科学.计算机科学.经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方 ...
- 学习docker看此文足以
什么是 Docker Docker 最初是 dotCloud 公司创始人 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 ,主要项目代码在 上进行 ...
- VMWare无法从主机向虚拟机复制粘贴
VMWare无法从主机向虚拟机复制粘贴 问题描述 无法在本机和虚拟机之间实现复制粘贴和文件拖到功能. 系统环境 本机 Windows10 虚拟机 Centos7 解决方法 多次尝试重新安装VMware ...
- C# System.lnvalidOperationException:"A second operation started on this context before a previousoperation completed. This is usually caused by different threads using the same instance ofDbContext...
与上一篇问题一样,只是错误不一样,DbContext 不支持并发请求,每个数据库操作都使用await就可以了
- Linux:进程模型和进程管理
1 进程与程序 在Linux系统中,执行一个程序或命令就可以触发一个进程,系统会给予这个进程一个ID,称为PID,同时根据触发这个进程的用户与相关属性关系,基于这个PID一组有效的权限设置.如下图所示 ...
- CesiumJS 源码杂谈 - 从光到 Uniform
目录 1. 有什么光 2. 光如何转换成 Uniform 以及何时被调用 2.1. 统一值状态对象(UniformState) 2.2. 上下文(Context)执行 DrawCommand 2.3. ...
- Java学习笔记13
1.Date类 1.1 概述 java.util.Date类表示特定的瞬间,精确到毫秒. 1.2 构造方法 Date类有多个构造方法,部分已经过时. 方法 作用 public Date() 从此刻 ...
- 优化故事: BLOOM 模型推理
经过"九九八十一难",大模型终于炼成.下一步就是架设服务,准备开门营业了.真这么简单?恐怕未必!行百里者半九十,推理优化又是新的雄关漫道.如何进行延迟优化?如何进行成本优化 (别忘 ...