社区
Java
帖子详情
Log4j
bradwoo8621
2003-03-20 11:19:30
请教一个log4j的问题.
log4j中有ERROR, WARN, INFO, DEBUG等几个等级.
我想根据不同的等级将日志输入到不同的文件中, 可以通过配置文件实现吗?
比如ERROR--> error.log
WARN-->warn.log
INFO-->info.log
DEBUG-->debug.log
...全文
47
14
打赏
收藏
Log4j
请教一个log4j的问题. log4j中有ERROR, WARN, INFO, DEBUG等几个等级. 我想根据不同的等级将日志输入到不同的文件中, 可以通过配置文件实现吗? 比如ERROR--> error.log WARN-->warn.log INFO-->info.log DEBUG-->debug.log
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rf_wu
2003-06-18
打赏
举报
回复
还得继续up
qjhaaaaa
2003-06-14
打赏
举报
回复
1、首先将log4j-1.2.8.jar包含入类路径中。
2、Log4J必须在应用的其它代码执行前完成初始化。其初始化内容如下:
import java.io.*;
import javax.servlet.*;
import org.apache.log4j.*;
public class Log4JInit extends HttpServlet {
public void init() throws ServletException {
String prefix = getServletContext().getRealPath("/");
String file = getServletConfig().getInitParameter("log4j-config-file");
// 从Servlet参数读取log4j的配置文件
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
}
3、web.xml内容配置如下:具体的文件放在 路径:\webapps\项目名称\WEB-INF\web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>log4jinit</servlet-name>
<servlet-class>com.iss.common.util.Log4JInit</servlet-class>//这里换换成具体的初始化文件包
<init-param>
<param-name>log4j-config-file</param-name>
<param-value>WEB-INF\log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Establish the default list of welcome files -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/FileNoFound.jsp</location>
</error-page>
</web-app>
注意:上面的load-on-startup应设为1,以便在Web容器启动时即装入该Servlet。log4j.properties文件放在根的properties子目录中,也可以把它放在其它目录中。应该把.properties文件集中存放,这样方便管理。
4、log4j.properties的配置,具体的路径在\webapps\项目名称\WEB-INF\log4j.properties
在配置文件中即log4j.properties中这样设置:
#设置成根目录,所有包括debug以上级别的信息都打印出来到日志文件中
log4j.rootLogger=debug, stdout
#设置为debug,表示只能打印出debug级别的信息
log4j.logger.debug=debug, R
#设置成info,表示只能打印出info级别的信息
log4j.logger.info=info,s
#设置成error,表示只能打印出error级别的信息
log4j.logger.error = error,k
#输出debug级别以上的信息到控制台
og4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=(%F:%L) - %m%d%n
打印debug级别的信息到debugInfo.log
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=c:/webapps/debugInfo.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%F:%L] - %m \r\n
#打印info级别的信息到info.log
log4j.appender.s=org.apache.log4j.RollingFileAppender
log4j.appender.s.File= c:/webapps/info.log
# Control the maximum log file size
log4j.appender.s.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.s.MaxBackupIndex=1
log4j.appender.s.layout=org.apache.log4j.PatternLayout
log4j.appender.s.layout.ConversionPattern=%p %t %c - %m%d%n
#打印error级别的信息到errorInfo.log中
log4j.appender.k=org.apache.log4j.DailyRollingFileAppender
log4j.appender.k.File=C:/Program Files/Apache Tomcat 4.0/webapps/PSA/log/error_8080.log
//log4j.appender.R.Append = true
log4j.appender.k.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.k.layout=org.apache.log4j.PatternLayout
log4j.appender.k.layout.ConversionPattern=%d [%F:%L] - %m \r\n
5、在类中的的设置如下:
class类中如下:
static Logger debugLog=new Logger.getLogger("debug")
static Logger infoLog=new Logger.getLogger("info")
static Logger errorLog=new Logger.getLogger("error")
这样不同级别的log信息就可以打在不同的log文件中.
例如debugLog.debug(“”);就打印到上面的debuginfo中。
InfoLog.info(“”);就打印到上面的infoLog中。
qjhaaaaa
2003-06-14
打赏
举报
回复
1、首先将log4j-1.2.8.jar包含入类路径中。
2、Log4J必须在应用的其它代码执行前完成初始化。其初始化内容如下:
import java.io.*;
import javax.servlet.*;
import org.apache.log4j.*;
public class Log4JInit extends HttpServlet {
public void init() throws ServletException {
String prefix = getServletContext().getRealPath("/");
String file = getServletConfig().getInitParameter("log4j-config-file");
// 从Servlet参数读取log4j的配置文件
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws
IOException, ServletException {}
}
3、web.xml内容配置如下:具体的文件放在 路径:\webapps\项目名称\WEB-INF\web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>log4jinit</servlet-name>
<servlet-class>com.iss.common.util.Log4JInit</servlet-class>//这里换换成具体的初始化文件包
<init-param>
<param-name>log4j-config-file</param-name>
<param-value>WEB-INF\log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Establish the default list of welcome files -->
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/FileNoFound.jsp</location>
</error-page>
</web-app>
注意:上面的load-on-startup应设为1,以便在Web容器启动时即装入该Servlet。log4j.properties文件放在根的properties子目录中,也可以把它放在其它目录中。应该把.properties文件集中存放,这样方便管理。
4、log4j.properties的配置,具体的路径在\webapps\项目名称\WEB-INF\log4j.properties
在配置文件中即log4j.properties中这样设置:
#设置成根目录,所有包括debug以上级别的信息都打印出来到日志文件中
log4j.rootLogger=debug, stdout
#设置为debug,表示只能打印出debug级别的信息
log4j.logger.debug=debug, R
#设置成info,表示只能打印出info级别的信息
log4j.logger.info=info,s
#设置成error,表示只能打印出error级别的信息
log4j.logger.error = error,k
#输出debug级别以上的信息到控制台
og4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=(%F:%L) - %m%d%n
打印debug级别的信息到debugInfo.log
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=c:/webapps/debugInfo.log
log4j.appender.R.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d [%F:%L] - %m \r\n
#打印info级别的信息到info.log
log4j.appender.s=org.apache.log4j.RollingFileAppender
log4j.appender.s.File= c:/webapps/info.log
# Control the maximum log file size
log4j.appender.s.MaxFileSize=100KB
# Archive log files (one backup file here)
log4j.appender.s.MaxBackupIndex=1
log4j.appender.s.layout=org.apache.log4j.PatternLayout
log4j.appender.s.layout.ConversionPattern=%p %t %c - %m%d%n
#打印error级别的信息到errorInfo.log中
log4j.appender.k=org.apache.log4j.DailyRollingFileAppender
log4j.appender.k.File=C:/Program Files/Apache Tomcat 4.0/webapps/PSA/log/error_8080.log
//log4j.appender.R.Append = true
log4j.appender.k.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.k.layout=org.apache.log4j.PatternLayout
log4j.appender.k.layout.ConversionPattern=%d [%F:%L] - %m \r\n
5、在类中的的设置如下:
class类中如下:
static Logger debugLog=new Logger.getLogger("debug")
static Logger infoLog=new Logger.getLogger("info")
static Logger errorLog=new Logger.getLogger("error")
这样不同级别的log信息就可以打在不同的log文件中.
例如debugLog.debug(“”);就打印到上面的debuginfo中。
InfoLog.info(“”);就打印到上面的infoLog中。
tusm
2003-06-14
打赏
举报
回复
在配置文件中这样写:
log4j.logger.debug=debug,debugFile
log4j.logger.info=info,infoFile
log4j.logger.error=error,errorFile
logger后面的debug,info,error为标示符,在class文件中用到.
log4j.appender.debugFile.File=C:/log/debugFile.log
log4j.appender.debugFile.Append = true
log4j.appender.debugFile.DatePattern='.'yyyy-MM-dd'.txt'
log4j.appender.debugFile.layout=org.apache.log4j.PatternLayout
log4j.appender.debugFile.layout.ConversionPattern=%d [%F:%L] - %m \r\n
其它两个文件同样的配置.
class类中如下:
static Logger debugLog=new Logger.getLogger("debug")
static Logger infoLog=new Logger.getLogger("info")
static Logger errorLog=new Logger.getLogger("error")
这样不同级别的log信息就可以打在不同的log文件中.
charbee
2003-05-17
打赏
举报
回复
use xml config file can fix your problem.
xml config file has a filter element for it.
Zhakrin
2003-05-17
打赏
举报
回复
用Additivity=false.
wbw88
2003-05-13
打赏
举报
回复
up
shi_yingbo
2003-04-25
打赏
举报
回复
up
DavidBone
2003-04-21
打赏
举报
回复
ding
DavidBone
2003-04-20
打赏
举报
回复
up
shihb
2003-03-21
打赏
举报
回复
当然可以啦,只要配置一下config文件。
bradwoo8621
2003-03-21
打赏
举报
回复
log4j.rootCategory=DEBUG, R, P
log4j.appender.R=org.log4j.RollingFileAppender
log4j.appender.R.File=E:/log/debug.log
log4j.appender.R.MaxFileSize=500KB
log4j.appender.P=org.log4j.RollingFileAppender
log4j.appender.P.File=E:/log/error.log
log4j.appender.P.MaxFileSize=500KB
想这样定义两个的话, 不管输入什么日志信息, 都会同时写到两个文件中.
我想要的结果是logger.debug()输出到debug.log, 而logger.error()输出到error.log, 这样可以吗?
puppy_lu
2003-03-21
打赏
举报
回复
比如说定义Debug
在配置文件里面:
log4j.rootCategory=DEBUG, R
log4j.appender.R=org.log4j.RollingFileAppender
log4j.appender.R.File=E:/log/debug.log
log4j.appender.R.MaxFileSize=500KB
flyycyu
2003-03-21
打赏
举报
回复
up
log4j
.jar
log4j
的jar包,有了它你就可以打log了
一个较实用的
log4j
.properties
一个较实用的
log4j
.properties <br>使用方法: 在web-inf/lib下加入
log4j
-1.2.15.jar,然后将包中的
log4j
.properties放到web-inf/classes/下就可以使用了。 <br>测试方法! <br>见其中的
Log4j
Test.java.
日志框架commons-logging和
Log4j
应用
本课程主要讲解日志框架commons-logging和
Log4j
基本应用和分析,适合于所有java开发人员
maven+springmvc+mybatis+
log4j
框架搭建
maven+springmvc+mybatis+
log4j
框架搭建,以后项目可以多次利用起来。。节省开发时间
com.google.gson.Gson(4个jar包)莫名被加了积分,回归0
gson-1.5,
log4j
-1.2.15,slf4j-api-1.6.0,slf4j-
log4j
12-1.6.1
Java
50,535
社区成员
85,619
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章