问一个log4j的问题,在线等待ing

adonn 2003-05-08 11:34:21
如何在项目中,使得log4j把日志记录到两个以上的文件中去
求例子
(:
...全文
18 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
glassprogrammer 2003-05-08
  • 打赏
  • 举报
回复
/**********************************************************************
log4j.rootCategory=LOGFILE1,LOGFILE2

log4j.appender.LOGFILE1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE1.File=c:/jakarta-tomcat-4.1.12/logs/axis1.log
log4j.appender.LOGFILE1.Append=true
log4j.appender.LOGFILE1.layout=org.apache.log4j.PatternLayout

log4j.appender.LOGFILE2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE2.File=c:/jakarta-tomcat-4.1.12/logs/axis2.log
log4j.appender.LOGFILE2.Append=true
log4j.appender.LOGFILE2.layout=org.apache.log4j.PatternLayout
**********************************************************************/
假设你有两个Package:p1和p2,那么在这个文件的基础上,加上如下部分
log4j.logger.p1 = debug, LOGFILE1
log4j.logger.p2 = debug, LOGFILE2
就可以做到了。
前提是你在某个类中使用Logger.getLogger(name)时传入类名,或者Logger.getLogger(clazz)时传入Class对象,那么,如果这个类是p1.xxx.yyy的话,就会写在LOGFILE1,如果是p2.xxx.yyy....
adonn 2003-05-08
  • 打赏
  • 举报
回复
....
hehe
那么代码中如何指定log输出到哪个文件
谢谢
liuyk 2003-05-08
  • 打赏
  • 举报
回复
代码不和这个配置文件打交道的,这个名字只在配置文件中起作用,可以随便定义的
adonn 2003-05-08
  • 打赏
  • 举报
回复
谢,如何在代码中指明使用的是LOGFILE1还是LOGFILE2
liuyk 2003-05-08
  • 打赏
  • 举报
回复
需要配置 log4j.properties 文件,下面是一个例子
/**********************************************************************
log4j.rootCategory=LOGFILE1,LOGFILE2

log4j.appender.LOGFILE1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE1.File=c:/jakarta-tomcat-4.1.12/logs/axis1.log
log4j.appender.LOGFILE1.Append=true
log4j.appender.LOGFILE1.layout=org.apache.log4j.PatternLayout

log4j.appender.LOGFILE2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOGFILE2.File=c:/jakarta-tomcat-4.1.12/logs/axis2.log
log4j.appender.LOGFILE2.Append=true
log4j.appender.LOGFILE2.layout=org.apache.log4j.PatternLayout
**********************************************************************/
liuyk 2003-05-08
  • 打赏
  • 举报
回复
log4j缺省配置就会去寻找路径下的log4j.properties配置文件,你只要把log4j.properties放在你的工程目录下就可以了
也可以用其他的方式来指定,详细说明:http://jakarta.apache.org/log4j/docs/manual.html
tpz_stamp 2003-05-08
  • 打赏
  • 举报
回复
写在代码里相对来说还是不合理的方式。
SimpleLayout layout = new SimpleLayout();

FileAppender appender = null;
try {
appender = new FileAppender(layout,"output1.txt",false);
} catch(Exception e) {}

logger.addAppender(appender);

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧