日期:2014-05-18  浏览次数:20744 次

struts2拦截器,我需要用log4j实现登陆日志和更新日志,我需要配置两个log4文件么?
用struts2的拦截器,实现登录日志和更新日志,我用写两个log4j文件还是一个就可以搞定了,刚用log4j,了解的不多。那么多个action怎么配置到一个文件里面,解决多个action判断是否写日志的问题。
struts2 log4j 拦截器

------解决方案--------------------
log4j等级  debug  debug级别
            info  info级别
            warn   warn级别
    error   error级别

不能用来记录你的什么登录和更新的,,,

action 是配置在struts2.xml中 可以使用  *   通配符   可以解决多个的问题
------解决方案--------------------
  ex:  设置 info级别  使用log.info("VPN设备信息数据采集程序开始运行~~~~~~~~~~~~~~~~~~~~");  就可以 在日志中 写入 
------解决方案--------------------
怎么根据用户的不同用log4j生成不同的日志呢?
------解决方案--------------------
配置两个categry就可以了
------解决方案--------------------
用户不同生成不同的日志只有自己写了。
------解决方案--------------------
引用:
Quote: 引用:

配置两个categry就可以了
我想讲hql语句输入到日志文件中,怎么弄呢?觉得log4j应该可以配置,但是没有什么想法。


自己建一个hibernate的数据访问工具类, 所有的hibernate请求都通过你们这个工具类

不但可以打印hql,还可以计算hql执行时间。



    Object execute(HibernateCallback callback, String logMessage) {
        TimeWatch watch = new TimeWatch();
        try {
            return hibernateTemplate.execute(callback);
        } finally {
            logger.log(HibernateDao.class, String.format("%s, exeTime=%d", logMessage, watch.exeTime()));
        }
    }

    @SuppressWarnings("unchecked")
    public <T> List<T> find(final DetachedCriteria detachedCriteria, final Integer firstRst, final Integer maxRsts) {
        return (List<T>) execute(new HibernateCallback() {
            @Override
            public Object doInHibernate(Session session) throws HibernateExceptionSQLException {
                Criteria criteria = detachedCriteria.getExecutableC