SLog中可以用
msg = "菜单名称:${args[0].menuName}"
获取方法的参数,请问有没有办法可以获取当前类的字段值?
SLog中可以用
msg = "菜单名称:${args[0].menuName}"
获取方法的参数,请问有没有办法可以获取当前类的字段值?
这是service类
private int i = 1;
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
@SLog(tag="userTest", msg = "${obj.i}")
public void userTest(){
ServiceProxy<SysMenuService> proxy = new ServiceProxy<SysMenuService>(getOperator(), menuService);
proxy.getService().menuTest();
}
这是interceptor里和msg有关的部分
this.msg = new CharSegment(slog.msg());
if (msg.hasKey()) {
els = new HashMap<String, El>();
for (String key : msg.keys()) {
els.put(key, new El(key));
}
}
String _msg = null;
if (msg.hasKey()) {
Context ctx = Lang.context();
ctx.set("args", chain.getArgs());
ctx.set("return", chain.getReturn());
Context _ctx = Lang.context();
for (String key : msg.keys()) {
_ctx.set(key, els.get(key).eval(ctx));
}
_msg = msg.render(_ctx).toString();
} else {
_msg = msg.getOrginalString();
}