文档章节

关于java web项目使用log4j

非沧海一粟不随波逐流
 非沧海一粟不随波逐流
发布于 2017/09/10 22:59
字数 265
阅读 1
收藏 0

pom.xml中添加依赖。

<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.17</version>
</dependency>

maven会自动添加相应的jar包

配置log4j初始化用的servlet

web.xml中添加下面servlet

<servlet>
	<servlet-name>log4j-init</servlet-name>
	<servlet-class>com.suyang.servlet.Log4jInit</servlet-class>
	<init-param>
		<param-name>log4j-init-file</param-name>
		<param-value>\WEB-INF\classes\log4j.properties</param-value>
	</init-param>
	<load-on-startup>1</load-on-startup>
</servlet>

添加对应的servlet

Log4jInit.java

package com.suyang.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.PropertyConfigurator;

/**
 * Servlet implementation class Log4jInit
 */
public class Log4jInit extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doGet(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doPost(req, resp);
	}

	@Override
	public void init() throws ServletException {
		// TODO Auto-generated method stub
		super.init();
		String prefix = getServletContext().getRealPath("/");
		String file = getInitParameter("log4j-init-file");
		if (file != null) {
			System.out.println("read log4j.properties:"+prefix + file);
			PropertyConfigurator.configure(prefix + file);
		}
	}

}

在resources中添加log4j.properties文件,maven会自动把文件复制到classes目录下

log4j.rootLogger = DEBUG , stdout , D

log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.Threshold= DEBUG
log4j.appender.D.File= ${catalina.home}/logs/log.log
log4j.appender.D.ImmediateFlush= true
log4j.appender.D.Append= true
log4j.appender.D.DatePattern='-'yyyy-MM-dd-HH'.log'
log4j.appender.D.Encoding= UTF-8
log4j.appender.D.layout= org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n

日志会自动记录DEBUG级别以上的日志。

本文转载自:http://blog.csdn.net/xsi640/article/details/29618103

共有 人打赏支持
非沧海一粟不随波逐流
粉丝 3
博文 60
码字总数 2977
作品 0
无锡
程序员
私信 提问
为什么阿里巴巴禁止工程师直接使用日志系统(Log4j、Logback)中的 API

作为Java程序员,我想很多人都知道日志对于一个程序的重要性,尤其是Web应用。很多时候,日志可能是我们了解应用程序如何执行的唯一方式。 所以,日志在Java Web应用中至关重要,但是,很多人...

Hollis
11/26
0
0
JMX学习以及在log4j中的应用

前言 JMX即Java Managemen Extensions,是一个为应用程序植入管理功能的框架。一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理。 常常在编程的过程中...

buglife
2015/01/06
0
15
Spring整合log4j日志组件

Log4j是Apache的一个开放源代码项目,通过使用Log4j,控制日志信息输送的目的地可以为控制台、文件、数据库、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;可以控制...

技术小能手
11/01
0
0
JAVA 日志系统简介--转

日 志,源于log,有航海日志的意思。指记录海员记录每天的行程,生活及发生的事件。在软件开发领域,用来监控代码中变量变化,跟踪 代码运行的轨迹,在开发环境中担当调试器作用,向控制台或...

asdtiang
2010/02/22
584
1
Log4j 2.0 的新特性

不久之前,著名的日志框架log4j发布了一个新的主要版本。从第一个alpha版本诞生以来,log4j已经发布了4个版本。log4j 2较之前的log4j 1有了很大的改动。因此,虽然log4j 2s现在还很年轻,但它...

oschina
2012/12/07
20.7K
2

没有更多内容

加载失败,请刷新页面

加载更多

计算机系统要素 C5

本章值得一提的是组织计算机的结构。Hack 的指令和数据是分开存储的,因此它的 CPU 有两个 input: IN inM[16], // M value input (M = contents of RAM[A]) instruction[16],...

lionets
13分钟前
0
0
SpringSecurity404需要注意的地方

在使用@RequestMapping的时候路径的值如果写为("auth"),虽然用的时候前面加不加"/"没有区别,但是在配置了SpringSecurity的http.authorizeRequests().antMatchers()时就必须要注意了! 🌰1...

百萬馬力
16分钟前
0
0
10分钟读懂阿里巴巴高级专家在Flutter Live2018的分享

作者:闲鱼技术-宗心 12月4日,google flutter团队宣布第一个flutter正式版本发布。次日,Flutter Live Beijing 会议上,google flutter团队邀请了在这一技术方案中重要的合作伙伴闲鱼团队分...

阿里云官方博客
17分钟前
1
0
RxJava window操作符

原文:https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%204%20-%20Concurrency/3.%20Sequences%20of%20coincidence.md Sequences of coincidence Rx试图避免管道(pipeline)外......

woshixin
24分钟前
1
0
05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》

本期视频实现了博客的详情页面; 内容简介:使用了标签函数layout完成详情功能 一起学beetl目录:https://my.oschina.net/u/1590490?tab=newest&catalogId=6214598 作者:GK #标签函数 layo...

Gavin-King
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部