log4j.properties配置文件及详解
log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。
1. 配置日志级别及appenderName
log4j.rootLogger=[level],console,debugFileAppender,errorFileAppender,...
注:其中 [level] 是日志输出级别:FATAL、ERROR、WARN、INFO、DEBUG 五个级别,通过定义的级别,你可以控制程序中的日志输出,例:如果定义了ERROR级别,程序中只有FARAL、ERROR 级别的 log 会被输出。
- FATAL:致命错误。
 - ERROR:严重错误,主要是程序的错误。
 - WARN:一般警告,比如session丢失。
 - INFO:一般要显示的信息,比如登录退出。
 - DEBUG:程序的调试信息。
 
2. Log4j提供的输出目的地有以下几种:
log4j.appender.appenderName= 输出目的地 (这里的appenderName是在前面定义的,可任意起名)
- org.apache.log4j.ConsoleAppender(控制台)
 - org.apache.log4j.FileAppender(文件)
 - org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
 - org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
 - org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
 
3. 配置布局类型
log4j.appender.appenderName.layout = 布局类型(设置布局类型)
Log4j提供的layout有以下4种:
- org.apache.log4j.HTMLLayout(以HTML表格形式布局)
 - org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
 - org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
 - org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
 
4. 配置符号所代表的含义:log4j.appender.根.layout.ConversionPattern=
- %p:输出日志信息的优先级,即FATAL、ERROR、WARN、INFO、DEBUG。
 - %d:输出日志日期或时间,默认格式为ISO8601,也可以在其后指定格式。例:%d{yyyy MMM dd HH:mm:ss,SSS},输出:2000年01月01日 00:00:10,000
 - %c:输出日志信息所属的类目,通常就是所在类的全名。
 - %F:输出日志消息产生时所在的文件名称
 - %L:输出代码中的行号。
 - %l:输出日志事件的发生位置,包括全类名方法名、发生的线程,以及在代码中的行号,相当于%c(%F:%L)的组合,但这个组合不包括方法名。例:cn.xiwh.test.Testlog4j.main(TestLog4j.java:10)
 - %m:输出代码中指定产生的日志的具体信息。
 - %n:输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行。
 - %r:输出自应用启动到输出该log信息耗费的毫秒数。
 - %t:输出产生该日志事件的线程名。
 - %x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
 - %%:输出一个"%"字符。
 - [QC]:是log信息的开头,可以为任意字符,一般为项目简称。
 - -X号:X信息输出时左对齐。
 
可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、及文本的对齐方式。例:
1). %20c:指定输出类的名称,最小的宽度是20,如果类的名称小于20,默认的情况下右对齐。
2). %-20c:指定输出类的名称,最小的宽度是20,如果类的名称小于20,"-"号指定左对齐。
3). %.30c:指定输出类的名称,最大的宽度是30,如果类的名称大于30就会将左边多出的字符截掉,但小于30也不会有空格。
4). %20.30c:如果类的名称小于20就补空格并且右对齐,如果其名称大于30就从左边较远输出的字符截掉。
5. 配置文件 log4j.properties
### 配置日志级别及appenderName ###
log4j.rootLogger=error,console,debugFileAppender,errorFileAppender,dailyRollingFile,rollingFile,mail ### 配置输出信息到控制抬 ###
log4j.appender.console=org.apache.log4j.ConsoleAppender
#默认值是System.out,指定输出控制台。
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] [%d{yyyy-MM-dd HH:mm:ss,SSS}] method:%l%n%m%n ### 配置输出DEBUG级别以上的日志文件到> D://logs/debug.log ###
log4j.appender.debugFileAppender=org.apache.log4j.FileAppender
log4j.appender.debugFileAppender.File=D://logs/debug.log
log4j.appender.debugFileAppender.Append=true
log4j.appender.debugFileAppender.Threshold=DEBUG
log4j.appender.debugFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.debugFileAppender.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 配置输出ERROR级别以上的日志文件到> D://logs/error.log ###
log4j.appender.errorFileAppender=org.apache.log4j.FileAppender
log4j.appender.errorFileAppender.File=D://logs/error.log
log4j.appender.errorFileAppender.Append=true
log4j.appender.errorFileAppender.Threshold=ERROR
log4j.appender.errorFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.errorFileAppender.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 配置输出DEBUG级别以上的日志文件到> D://logs/debug.log 并且每天都创建一个文件 ###
log4j.appender.dailyRollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.dailyRollingFile.File=D://logs/debug.log
log4j.appender.dailyRollingFile.Append=true
log4j.appender.dailyRollingFile.Threshold=DEBUG
log4j.appender.dailyRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyRollingFile.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n ### 配置输出DEBUG级别以上的日志文件到> D://logs/debugRolling.log 且大小到达指定尺寸的时候产生一个新的文件 ###
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
#指定消息输出到> D://logs/debugRolling.log文件
log4j.appender.rollingFile.File=D://logs/debugRolling.log
#默认值是true,即将消息增加到指定文件中,false指将消息覆盖指定的文件内容。
log4j.appender.rollingFile.Append=true
#指定日志消息的输出最低层次
log4j.appender.rollingFile.Threshold=DEBUG
#后缀可以是KB、MB或者是GB,在日志文件到达该大小时,将会自动滚动,即将原来的内容移到debug.log.1文件。
log4j.appender.rollingFile.MaxFileSize=10KB
#指定可以产生的滚动文件的最大数
log4j.appender.rollingFile.MaxBackupIndex=1
log4j.appender.rollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ### 配置输出到邮件 ###
log4j.appender.mail=org.apache.log4j.net.SMTPAppender
# 日志的错误级别
log4j.appender.mail.Threshold=DEBUG
# 缓存文件大小,日志达到10K时发送Email
log4j.appender.mail.BufferSize=10
# 发送邮件的服务器
log4j.appender.mail.SMTPHost=smtp.163.com
# 邮件的标题
log4j.appender.mail.Subject=Log4J DebugMessage
# 邮箱地址
log4j.appender.mail.SMTPUsername=test@163.com
# 密码
log4j.appender.mail.SMTPPassword=test
# 发件人
log4j.appender.mail.From=test@163.com
# 收件人
log4j.appender.mail.To=receive@163.com
# 日志PatternLayout
log4j.appender.mail.layout=org.apache.log4j.PatternLayout
# 日志的格式
log4j.appender.mail.layout.ConversionPattern=[DebugMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.properties配置文件及详解的更多相关文章
- log4j.properties 的使用详解
		
一.log4j.properties 的使用详解 1.输出级别的种类 ERROR.WARN.INFO.DEBUGERROR 为严重错误 主要是程序的错误WARN 为一般警告,比如session丢失IN ...
 - log4j.properties的配置详解
		
log4j.rootLogger=ERROR,A1log4j.appender.A1=org.apache.log4j.ConsoleAppenderlog4j.appender.A1.layout= ...
 - (转)log4j(六)——log4j.properties试过过程详解
		
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 参考:https://www.cnblogs.com/ywlaker/p/6124067.html log4j基本用法 首 ...
 - log4j.properties配置及详解
		
log4j.properties文件配置: log4j.rootLogger = debug,console log4j.appender.console = org.apache.log4j.Con ...
 - spring boot 配置文件properties和YAML详解
		
spring boot 配置文件properties和YAML详解 properties中配置信息并获取值. 1:在application.properties配置文件中添加: 根据提示创建直接创建. ...
 - log4j配置文件位置详解
		
自动加载配置文件: (1)如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解.log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找lo ...
 - java 日志体系(三)log4j从入门到详解
		
java 日志体系(三)log4j从入门到详解 一.Log4j 简介 在应用程序中添加日志记录总的来说基于三个目的: 监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作: 跟踪代 ...
 - ssh2的application.xml配置文件配置详解
		
ssh2的application.xml配置文件配置详解 1.导入其他的配置文件.在ssh项目中可以导入其他的配置文件,导入的格式为: <import resource="clas ...
 - MySQL-5.5.32 配置文件优化详解
		
目录 MySQL-5.5.32 配置文件优化详解 一.配置文件说明 2.my-medium.cnf 3.my-large.cnf 4.my-huge.cnf 5.my-innodb-heavy-4G. ...
 
随机推荐
- python 按行查找文本文件,找出答案,并提示置顶答案
			
1.整理好答案文件为文本文件:不能有空行:每个题干前有数字做为题号:每个题答案第一个字符为字母,答案占一行import time import time import sys import os im ...
 - C语言:sizeof判断数据类型长度
			
#include <stdio.h> int main() { short a = 10; int b = 100; long c=100; int short_length = size ...
 - python mysql 类  图片保存到表中,从表中读图片形成图片文件
			
import pymysql class MysqlHelper(object): conn = None def __init__(self, host, username, password, d ...
 - 论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry
			
本文提出了一种紧耦合的多传感器(雷达-惯导-相机)融合算法,将IMU测量.稀疏视觉特征.提取的激光点融合.提出的算法在时间和空间上对三个异步传感器进行在线校准,补偿校准发生的变化.贡献在于将检测和追踪 ...
 - awk对某个字段分割处理
			
工作中遇到要根据文件中某个字段分割成多行文本的处理,想到用awk处理,这里记录下: 问题: 原文件:假设一共2个字段,用"|"分割,其中第二个字段用"#"分割, ...
 - Discuz! X3.4 邮件设置 使用qq邮箱发邮件
			
1. 在qq邮箱->设置中,获取授权码 2. 在discuz后台配置基础信息 3. 在服务器的防火墙中添加规则,允许访问465端口
 - P2491 消防/P1099 树网的核
			
P2491 消防/P1099 树网的核 双倍经验,双倍快乐. 题意 在一个树上选择一段总长度不超过\(s\)的链使所有点到该链距离的最大值最小. 输出这个最小的值. 做法 Define:以下\(s\) ...
 - FormData提交文件(十四)
			
问题 在通过ajax提交表单时,表单中有Excel文件,在后台还需要读取excel文件中的数据,普通的提交方式无法实现.可以通过创建FormData对象的方式. 代码示例: 前端: 创建想要提交的fo ...
 - 记一次Hvv中遇到的API接口泄露而引起的一系列漏洞
			
引言 最近朋友跟我一起把之前废弃的公众号做起来了,更名为鹿鸣安全团队,后面陆续会更新个人笔记,有趣的渗透经历,内网渗透相关话题等,欢迎大家关注 前言 Hvv中的一个很有趣的漏洞挖掘过程,从一个简单的A ...
 - Table类
			
Interpreter类, class Interpreter: public CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpr ...