社区
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
...全文
58
14
打赏
收藏
Log4j
请教一个log4j的问题. log4j中有ERROR, WARN, INFO, DEBUG等几个等级. 我想根据不同的等级将日志输入到不同的文件中, 可以通过配置文件实现吗? 比如ERROR--> error.log WARN-->warn.log INFO-->info.log DEBUG-->debug.log
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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使用方法:在web-inf/lib下加入
log4j
-1.2.15.jar,然后将包中的
log4j
.properties放到web-inf/classes/下就可以使用了。测试方法!见其中的
Log4j
Test.java.
log4j
2 实际使用详解
一、目录简介 基础部分 日志框架简单比较(slf4j、
log4j
、logback、
log4j
2 )
log4j
2基础知识
log4j
2实用配置 实战部分 slf4j +
log4j
2 实际使用 二、日志框架比较(slf4j、
log4j
、logback、
log4j
2 ) 日志接口(slf4j) slf4j是对所有日志框架制定的一种规范、标准、接口,并不是一个框架的具体的实现,因为接口并不能独立使
最详细的
Log4J
使用教程
地址:http://www.codeceo.com/
log4j
-usage.html 日志是应用软件中不可缺少的部分,Apache的开源项目
log4j
是一个功能强大的日志组件,提供方便的日志记录。在apache网站:jakarta.apache.org/
log4j
可以免费下载到
Log4j
最新版本的软件包。 一、入门实例 1.新建一个JAva工程,导入包
log4j
-1.2.17.jar,整个...
log4j
2 的使用【超详细图文】
log4j
2 的使用 Apache
Log4j
2 是对
Log4j
的升级版本,参考了logback 的一些优秀的设计,并且修复了一些问题,因此带来了一些重大的提升,主要有: 异常处理,在logback中,Appender中的异常不会被应用感知到,但是在
log4j
2中,提供了一些异常处理机制。 性能提升,
log4j
2 相较于
log4j
和 logback 都具有明显的性能提升,有18倍性能提升,后面会有官方测试的数据。 自动重载配置,参考了logback的设计,当然会提供自动刷新参数配置,最实用的就是
Java
51,401
社区成员
85,914
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章