log4j级别设置问题

买房动力十足 2011-10-11 09:25:45
配置文件设置为WARN的时候:

public String create()throws Exception
{
try {
logger.warn("添加企业信息");
enterpriseServiceDAO.Create(enterprise);
logger.info("添加企业信息11");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
logger.error("企业信息添加失败!");
return "input";
}
return "create";
}


1.执行create正常时: 没有任何数据写入数据库!
2.执行create出现异常,例如插入主键重复的值的时候。没有数据写入。

配置文件设置为INFO的时候:
重启服务器后:
但是记录出奇的多:89条。这些信息不想输出到页面!

1.执行create正常时: 新增记录10条 logger.warn("添加企业信息")可以输出 还有其他9条不想输出到页面的信息,但是logger.info("添加企业信息11");
却输出不了。。

2.执行create出现异常,例如插入主键重复的值的时候。均写入数据库了。。但是,这个所有的 error warn info 都存入数据库了。显然不是我想要的。我想要的只是异常信息而已。

log4j.rootLogger=INFO,db
log4j.appender.db=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.db.BufferSize=10
log4j.appender.db.URL=jdbc\:jtds\:sqlserver\://server\:1434/pcbsyn
log4j.appender.db.driver=net.sourceforge.jtds.jdbc.Driver
log4j.appender.db.user=sa
log4j.appender.db.password=711
log4j.appender.db.sql=insert into logInfo(userId,userName,lclass,lmethod,lTime,llevel,message) values ('%X{userId}','%X{userName}','%C','%M','%d{yyyy-MM-dd HH\:mm\:ss}','%p','%m')
log4j.appender.db.layout=org.apache.log4j.PatternLayout


现在只想记录比如:
①用户登陆、退出的信息,修改个人信息的信息,
②所有的CRUD信息。
目前想的是 所有的使用logger.warn 这个。这样INFO的信息就不显示了。因为我要做到页面上。,
页面上不可能显示出这么多的INFO信息啊。所以就设置为WARN了。貌似上面的WARN级别不起作用啊?


...全文
329 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
magong 2011-10-12
  • 打赏
  • 举报
回复
Log4j设置为低级别的时候本来就包含高级别的信息。

楼主可以用独立的文件,记录自己Action代码中想要记录的信息。
买房动力十足 2011-10-12
  • 打赏
  • 举报
回复
不同级别的输出到不同地方
例如数据库中只输出warn 和 error信息
而将info信息输出到文件中

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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