配置文件设置为WARN的时候:
- Java code
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 都存入数据库了。显然不是我想要的。我想要的只是异常信息而已。
- HTML code
log4j.rootLogger=INFO,dblog4j.appender.db=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.db.BufferSize=10log4j.appender.db.URL=jdbc\:jtds\:sqlserver\://server\:1434/pcbsynlog4j.appender.db.driver=net.sourceforge.jtds.jdbc.Driverlog4j.appender.db.user=salog4j.appender.db.password=711log4j.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级别不起作用啊?
------解决方案--------------------
Log4j设置为低级别的时候本来就包含高级别的信息。
楼主可以用独立的文件,记录自己Action代码中想要记录的信息。