文档章节

Log4j

恋佳
 恋佳
发布于 2015/07/22 14:06
字数 1091
阅读 10
收藏 0

一、log4J的使用步骤

1 配置文件

log4j需要使用配置文件进行配置,共两种方式,一种为properties文件,一种为xml文件。

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

配置文件应放在classpath下面  或者在类中指明配置文件所在位置


PropertyConfigurator.configure("src/LogJDBC.properties");


#控制台输出   
 #优先级debug>info>error  
 #log4j推荐使用的级别是 debug  info warn error
    log4j.rootLogger=debug,appender1  
    #控制台输出
    log4j.appender.appender1=org.apache.log4j.ConsoleAppender  
   
    log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
   # %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  # %r 输出自应用启动到输出该log信息耗费的毫秒数
  #%c 输出所属的类目,通常就是所在类的全名
  #%t 输出产生该日志事件的线程名
  #%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
  #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
    
    log4j.appender.appender1.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n


2 控制台输出

将日志信息输出到控制台

#控制台输出   
 #优先级debug>info>error  
 #log4j推荐使用的级别是 debug  info warn error
    log4j.rootLogger=debug,appender1  
    #控制台输出
    log4j.appender.appender1=org.apache.log4j.ConsoleAppender  
   
    log4j.appender.appender1.layout=org.apache.log4j.PatternLayout
   # %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
  # %r 输出自应用启动到输出该log信息耗费的毫秒数
  #%c 输出所属的类目,通常就是所在类的全名
  #%t 输出产生该日志事件的线程名
  #%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
  #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
  #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)
    
    log4j.appender.appender1.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n

3 输出到文件


# 输出到文件

#定义根输出
log4j.rootLogger=debug,appenderF  

#定义文件输出

log4j.appender.appenderF=org.apache.log4j.FileAppender
#输出文件位置
log4j.appender.appenderF.File=E:\\test.log          
#追加文件内容
log4j.appender.appenderF.Append=true

#定义输出格式
log4j.appender.appenderF.layout=org.apache.log4j.PatternLayout
log4j.appender.appenderF.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n

4 输出到按大小滚动文件

定义每个日志文件的大小 超过大小将自动生成新的日志文件

#按文件大小滚动输出
log4j.rootLogger=debug,f
log4j.appender.f=org.apache.log4j.RollingFileAppender
log4j.appender.f.File=D:/log/rol.log
log4j.appender.f.Append=true
#文件达到10K就自动更名
log4j.appender.f.MaxFileSize=10KB 
 #最多备份100个文件 
log4j.appender.f.MaxBackupIndex=100
log4j.appender.f.layout=org.apache.log4j.PatternLayout
log4j.appender.f.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n

5 输出到按日期滚动文件

按日期滚动文件输出将日志输出到指定的文件,到日期发生变化时,会将文件按指定的日期格式自动改名。

#按照日期滚动输出

log4j.rootLogger=debug,f
log4j.appender.f=org.apache.log4j.DailyRollingFileAppender

log4j.appender.f.File=D:/log/logDaily.log
log4j.appender.f.DatePattern=.yyyy-MM-dd
log4j.appender.f.layout=org.apache.log4j.PatternLayout
log4j.appender.f.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n

6 输出到JDBC数据库

将日志输出到数据库

#输出到数据库

log4j.rootLogger=debug,db
#定义输出到数据库
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.URL=jdbc:mysql://172.20.201.191:3306/test

log4j.db.driver=com.mysql.jdbc.Driver
log4j.db.user=admin
log4j.db.password=123456
log4j.db.sql=insert into log4j (logTime,logLevel,logMsg,logClass) values('%d','%p','%m','%c')
log4j.appender.db.layout=org.apache.log4j.PatternLayout
log4j.appender.db.layout.ConversionPattern=%-d{yyyy-MM-dd hh:mm:ss,SSS}>>>>[%C]-[%p] >>>>%m%n

二、日志输出

在java代码中,使用log4j输出日志信息很简单,只需指定特定类型的信息并进行输出显示即可。在spring中,可以利用IOC直接获取日志对象 进行操作。


public  static Logger logger=Logger.getLogger(TestMain.class.toString());
	static
	{
		Handler console=new ConsoleHandler();
		console.setLevel(Level.OFF);
		logger.addHandler(console);
		
	}
	
	public static void main(String[] args)
	{
		logger.setLevel(Level.ALL);
		
		logger.fine("fine");
		logger.finer("finer");
		logger.config("config");
		
		logger.info("info");
		logger.severe("server");
		
	
	
	}


















版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
上一篇: 51 js-unit
下一篇: 11 泛型
恋佳
粉丝 0
博文 76
码字总数 62107
作品 0
大连
私信 提问
Apache 宣布 Log4j 1 版本生命周期终结

Apache 日志记录服务 PMC 宣布结束 Log4j™ 1.x 日志记录框架生命周期,不再提供官方支持。 八月初开始,Log4j 1 版本就已经寿终正寝了。 Log4j 在 1999 发布第一个版本,然后快速的成为最多...

oschina
2015/08/27
5K
15
JFinal启动log4j报错

@JFinal 你好,想跟你请教个问题:现在项目启动后log4j报错。报错信息如下: log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appende......

夜辰
2015/04/01
255
2
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

控制台出现提示: ------------------------------------------------------ log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender......

周烈庆
2013/07/18
7.8K
5
started a thread named

have started a thread named [Quartz Scheduler [quartzScheduler]] but has failed to stop it. This is very likely to create a memory leak. log4j:WARN No appenders could be found f......

知行合一1
2016/08/06
48
0
log4j ERROR

启动tomcat的时候报这个错误,怎么解决 log4j:ERROR A "org.apache.log4j.xml.DOMConfigurator" object is not assignable to a "org.apache.log4j.spi.Configurator" variable. log4j:ERROR......

leon_rock
2013/01/29
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

Windows同步对象Event和Linux的条件变量

最近在看一些同步对象模拟的东东,特别对在Windows下如何模拟条件变量折腾了很久。 1 Windows同步对象Event 微软有一个很有意思的同步对象,某种程度上和Linux的条件变量很相似。但秉承微软一...

shzwork
6分钟前
0
0
从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//第一种做法 public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList <Integer> li=new ArrayList<Integer>(); ArrayList <TreeN......

南桥北木
16分钟前
0
0
linux 服务管理 Crontba、Ntpdate、Logrotate、Supervisor

crond linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。 另外, 由于使用者自己也可以设置计划任务,所以,...

狼王黄师傅
46分钟前
3
0
Sobel算子和Scharr滤波器

Sobel算子在数学上的本质是微分,对离散信号,是求邻域内的增量。 基本原理:在图像上,对图像信号在某点进行微分,表示图像的某个特征(如,强度、色调或者饱和度)在该点的变换程度。以强度...

yepanl
今天
2
0
Jenkins API 使用

Jenkins 是一款流行的开源持续集成工具,可以用来做一些软件开发的自动化工作,如打包,测试,自动部署等。 Jenkins 中有 view 和 job 的概念, view 相当于组, job 则是具体的任务。 view...

YanWen
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部