@绝望的八皮
看了文档, 但是还是不知道,具体怎么用, 请大神 知道下, 谢谢啦
@绝望的八皮 这样其实不管方法有没有执行成功都记录了日志,如果我想根据方法内部执行情况来记录日志的话有没有好办法
非常感谢, 是需要再 配置文件中 configInterceptor 中加入 以下配置
me.add(new SysLogInterceptor() .setLogProcesser(new AdminLogProccesor()) .addConfig("/product/classSave", new LogConfig("产品类别") .addPara("productClass.id", "表ID") .addPara("productClass.name", "类别名称") .addPara("productClass.code", "类别编码") .addPara("productClass.parentId", "父类ID") ) )
public class DefaultLogProccesor implements LogProcessor { @Override public void process(SysLog sysLog) { Map map = null; try { map = BeanUtils.describe(sysLog); map.remove("class"); } catch (Exception e) { e.printStackTrace(); } Record record = new Record(); record.setColumns(map); System.out.println(record); // Db.save("syslog", record); } @Override public String getUsername(Controller c) { return c.getSessionAttr("username"); } @Override public String formatMessage(String title, Map<String, String> message) { String result = title; if (message.isEmpty()) { return result; } result += ", "; Set<Map.Entry<String, String>> entrySet = message.entrySet(); for (Map.Entry<String, String> entry : entrySet) { String key = entry.getKey(); String value = entry.getValue(); result += key + ":" + value; } return result; } }
参考这个。这个就是吧每次访问的信息打印出来了而已。你可以建个对应的表存入数据库根据你的需要
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(3)
@
绝望的八皮 这样其实不管方法有没有执行成功都记录了日志,如果我想根据方法内部执行情况来记录日志的话有没有好办法
参考这个。这个就是吧每次访问的信息打印出来了而已。你可以建个对应的表存入数据库根据你的需要