ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

[Java学习从零开始] 之Log4j学习

2019-07-27 23:08:39  阅读:263  来源: 互联网

标签:A1 Java Log4j 学习 A3 apache log4j appender ###


原文链接:http://www.cnblogs.com/lovepurple/archive/2012/10/17/2727302.html

     很早就听说过Log4j这个,而且之前在做asp.net项目中也用到过 log4j的.net版本就是 log4net,他是Apache公司的一个开源项目,用来记录日志,并可以将日志信息记录到文件,GUI组件以及接口服务器。。。能够细致地控制日志的生成过程,并且可能通过一个配置文件来配置,非常方便。

     1.首先:下载log4j 下载地址为:http://apache.etoak.com/logging/log4j/1.2.17/log4j-1.2.17.zip

    解压后将log4j-1.2.17.jar 添加到项目中。如下图:

      2.在WEB-INF中建立log4j.properties

         并可参考这段代码    

View Code
 1 log4j.rootLogger=DEBUG,A1,A2,A3,A4
 2 
 3 ###  system.out  ###
 4 log4j.appender.A2 =org.apache.log4j.ConsoleAppender
 5 log4j.appender.A2.Threshold=DEBUG
 6 log4j.appender.A2.Target=System.out
 7 ###log4j.appender.A2.encoding=UTF-8
 8 log4j.appender.A2.layout=org.apache.log4j.PatternLayout
 9 log4j.appender.A2.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
10 
11 ### file debug ###
12 log4j.appender.A1 = org.apache.log4j.DailyRollingFileAppender
13 log4j.appender.A1.File = ../logs/run/DServerDebug.log
14 log4j.appender.A1.DatePattern='.'yyyy-MM-dd
15 ###log4j.appender.A1.MaxFileSize=100MB
16 log4j.appender.A1.encoding=UTF-8
17 log4j.appender.A1.Append = true
18 log4j.appender.A1.Threshold = DEBUG
19 log4j.appender.A1.layout = org.apache.log4j.PatternLayout
20 log4j.appender.A1.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
21 
22 ### file INFO ###
23 log4j.appender.A3 = org.apache.log4j.DailyRollingFileAppender
24 log4j.appender.A3.File = ../logs/run/DServerINFO.log
25 log4j.appender.A3.DatePattern='.'yyyy-MM-dd
26 ###log4j.appender.A3.MaxFileSize=10MB
27 log4j.appender.A3.encoding=UTF-8
28 log4j.appender.A3.Append = true
29 log4j.appender.A3.Threshold = INFO
30 log4j.appender.A3.layout = org.apache.log4j.PatternLayout
31 log4j.appender.A3.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n
32 
33 
34 ### file ERROR ###
35 log4j.appender.A4 = org.apache.log4j.DailyRollingFileAppender
36 log4j.appender.A4.File = ../logs/run/DServerERROR.log
37 log4j.appender.A4.DatePattern='.'yyyy-MM-dd
38 ###log4j.appender.A4.MaxFileSize=100MB
39 log4j.appender.A4.encoding=UTF-8
40 log4j.appender.A4.Append = true
41 log4j.appender.A4.Threshold = ERROR
42 log4j.appender.A4.layout = org.apache.log4j.PatternLayout
43 log4j.appender.A4.layout.ConversionPattern=[%x] [%-d{yyyy-MM-dd HH:mm:ss}] [%p] %m%n

   可根据不同的项目 修改不同的参数就可以了。 具体参数的作用可参考此文章:http://blog.sina.com.cn/s/blog_7096a4800100pa5c.html

      3.在这里 由于我用的是Servlet 所以在 Web.xml中加入了 Servlet的配置

   

 1     <!-- 开始 Log4j Servlet配置 -->  
 2     <servlet>  
 3         <servlet-name>log4j-init</servlet-name>  
 4         <servlet-class>application.Log4jInit</servlet-class><!--log4j初始化servlet类的包路径-->  
 5         <init-param>  
 6         <param-name>log4j</param-name>  
 7         <param-value>C:\Program Files\apache-tomcat-6.0.35\word\log4j.properties</param-value><!--log4j配置文件路径-->  
 8         </init-param>  
 9         <load-on-startup>1</load-on-startup>  
10     </servlet>  
11     <!--结束 Log4j Servlet配置-->

     4.编写初始化类:log4jInit

       

package application;

import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;

/*
 * 	初始化Log4J
 * 
 */

public class Log4jInit extends HttpServlet {
	public void Init()
	{
		String filePath = getInitParameter("log4j");
		System.out.println("日志的配置文件路径为:"+filePath);
		if(filePath != null)
		{
			PropertyConfigurator.configure(filePath);  //载入配置文件
			System.out.println("日志的配置文件读取成功");
			
		}
	}
}

  到这里准备工作就结束了 可以使用log4j来进行日志的记录了。

5.使用 

   在要用的地方

     

static Logger logger = Logger.getLogger(当前类.class);
logger.debug(content);   

  这样就可以完成日志的记录了。

  参考文章:http://www.cnblogs.com/licheng/archive/2008/08/23/1274566.html

转载于:https://www.cnblogs.com/lovepurple/archive/2012/10/17/2727302.html

标签:A1,Java,Log4j,学习,A3,apache,log4j,appender,###
来源: https://blog.csdn.net/weixin_30214115/article/details/97567453

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有