log4j.properties配置内容如下(对具体配置不太了解的朋友可以在这之后学一下,此处,你只须修改日志文件存储路径即可):
log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A1.Append=true
# log文件存储路径,请转换为相应的目录
log4j.appender.A1.File=E:/workspace/ssh2/logs/log4j.log
log4j.appender.A1.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} Method:  %l%n%m%n 。
# 无详细类名、方法名信息
#log4j.appender.A1.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %m%n
# -X号:X信息输出时左对齐;
# %p:日志信息级别
# %d{}:日志信息产生时间
# %c:日志信息所在地(类名)
# %m:产生的日志具体信息
# %n:输出日志信息换行
在Spring中配置log4jleng411lian - by - 22 七月, 2009 18:23
Spring和Log4j都是当前web开发中应用非常广泛的技术,而且Spring对log4j的支持也相当好,今天遇到这个问题,就顺手记下在Spring中配置log4j的过程,以免不知道什么时候再用时不记得了。
用到的包就是spring.jar和log4j.jar了,首先要配置的是l,需要增加以下几项内容:
log4j参数:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>5000</param-value>
</context-param>
spring监听:
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
spring在Log4jConfigListener中会去读取context-param中的参数,到log4j配置文件的位置,其中log4jRefreshInterval是动态修改配置文件的,非必须选项。
配置好了l,然后就是log4j.properties,这个文件包含的所有选项的用法网络上都可以查到,这里只记录常用的几项。
#定义根节点,info是日志等级(共分5级),A1是自定义输出,console是输出到控制台
#自定义输出配置
#循环写文件模式,输出文件名,单个文件大小,最大文件数,输出格式定义
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=test.log
log4j.appender.A1.MaxFileSize=5MB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appende
r.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c{1}]-[%p]:%L - %m%n
# 输出到控制台模式及输出格式
sole=org.apache.log4j.ConsoleAppender
sole.layout=org.apache.log4j.PatternLayout
sole.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%c{1}]-[%p]:%L - %m%n
然后在自己的类文件里就可以定义log4j使用了。
private static Logger logger = Logger(YOURCLASS.class);
可以使用logger.info();();logger.debug();等打出自己的日志。
在配置完用tomcat测试时发现一个问题,就是自定义的日志文件test.log跑到${TOMCAT_HOME}/bin目录下边了,后来查了资料,通过以下配置可以修改此文件目录,在l里增加一个参数:
<context-param>
<param-name>webAppRootKey</param-name>
<param-value&</param-value>
</context-param>
然后在log4j中定义日志文件时如下:
log4j.appender.A1.File=${}/test.log
此时test.log文件就输出到WEB-INF同级目录下了,当然这个也可以自己随便指定了。
顺便再记录下,今天测试出个结论,在加载l时的顺序是:1.listener 2.filter 3.servlet
<!-- l-->
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"java.sun/dtd/web-app_2_3.dtd">
<web-app>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param>
<!-- ContextConfigLocation -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/l</param-value>
</context-param>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>commons.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
<init-param>
<param-name>config</param-name>
<param-value&l,l</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Listener contextConfigLocation -->
<listener>
<listener-class>org.t.
ContextLoaderListener</listener-class>
</listener>
<!-- Listener log4jConfigLocation -->
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<!-- The Welcome File List -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
网页代码颜</welcome-file-list>
</web-app>
log4j结合commons-logging配置总结(转)2008-11-20 10:26commons-logging是一个通用的日志接口,commons-logging.jar包中自带了一个simplelog的实现
log4j也实现了这个接口
使用通用接口,方便在于如果更换实现的方式,只要修改一个配置项即可
配置过程:
commons-logging.properties必须放置在WEB-INF/classes/下面
log4j.properties可以放这,也可以放置在WEB-INF下,但是需要在l中进行配置,这样tomcat才能到它
<web-app>
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>log4j-init</servlet-name>
<servlet-class>com.hedong.learning.log4j.Log4jInit</servlet-class>
数组初始化方式有哪些<init-param>
软件编程教程入门视频<param-name>log4j</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>   
<load-on-startup>1</load-on-startup>
</servlet>
</web-app>
注意这里的servlet需要自己编写。
/*
* Created on 2005-3-2
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.beltino.util;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import org.apache.log4j.PropertyConfigurator;
/
**
* @author Administrator
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Log4jInit extends HttpServlet {
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j");
properties是什么文件if (file != null) {
}
}
}
commons-logging.properties:
#--------------------------------------------------------------------------------
#根据需要配置不同的logging实现
#org.apachemons.logging.Log = org.apachemons.logging.impl.SimpleLog
org.apachemons.logging.Log = org.apachemons.logging.impl.Log4JCategoryLog
#
#----------------------------------------------------------------------------------
log4j.properties:
#这里面的console和file都是自定义的,可以自行修改
#注意的是log文件的路径,如果不指定,默认是在$TOMCAT_HOME/bin目录下。
#log4j.appender.file.DatePattern='.'yyyy-MM-dd'.log'这句用来设置每天生成上一天的日志备份文件的格式。当前最新的日志就是testlog.log要看效果,可
以把电脑的日期修改为第二天暂时看看
#--------------------------------------------------------------------------------
#LOGGERS#
#defile a logger named ...
#define an appender named console,which is set to be a ConsoleAppender
sole=org.apache.log4j.ConsoleAppender
#APPENDERS##
#define an appender named file,which is set to be a DailyRollingFileAppender
log4j.appender.file = org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File = ../webapps/test/logs/testlog.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd'.log'
#LAYOUTS#
javascript笔试题
#assign a SimpleLayout to console appender
sole.layout=org.apache.log4j.PatternLayout
sole.layout.ConversionPattern=[%p][%c] - %m%n
#=org.apache.log4j.SimpleLayout
#assign a SimpleLayout to file appender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%c] - %m%n
#--------------------------------------------------------------------------------
这是另一个参考配置,可以记录jdbc的 SQL语句
www.delphibbs/keylife/iblog_show.asp?xid=12706
#定义log
#Logger=info,file,DATABASE
#Logger=error,file,DATABASE
#定义控制台
sole=org.apache.log4j.ConsoleAppender
sole.layout=org.apache.log4j.PatternLayout
sole.layout.ConversionPattern=%r [%t] %-5p %c (%F:%L) %x - %m%n
#定义数据库
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=communitymedical
log4j.appender.DATABASE.driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
log4j.appender.DATABASE.user=sa
log4j.appender.DATABASE.password=btn
log4j.appender.DATABASE.sql=INSERT INTO TLOG4J VALUES ('%-5p','%d{yyyy-mm-dd hh:mm:ss} %-5p (%F:%L) - %m%n','%d{yyyy-mm-dd hh:mm:ss}')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=%d %-5p (%F:%L) - %m%n
#定义文件
dos命令修复硬盘log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.File=G:/Tomcat5/webapps/communitymedical/log/test
#log4j.appender.file.MaxFileSize=10KB
#log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.DatePattern='.'yyyy-MM-dd'.log'
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-5p (%F:%L) - %m%n

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。