开发规范


【日志框架】Step日志记录

<p>【日志框架】Step日志记录 默认情况下所有的controller都自动记录日志,自动记录用户自定义参数 如果controller需要记录请求和响应参数需要在controller方法上面增加注解@StepLog @RequestMapping(&quot;/partition&quot;) @StepLog public String partition(String partition) { if (&quot;1&quot;.equals(partition)) { throw new RuntimeException(partition); } return infoService.query4(partition, &quot;123&quot;); } 不记录请求参数 @StepLog(input = false) 不记录响应结果 @StepLog(output = false) 隐藏请求某个参数 @StepLog(hiddenInput = {&quot;0.h1&quot;, &quot;1.h3&quot;, &quot;h4&quot;}) 其中0,1表示参数顺序,默认不写时,表示第一个参数 按条件隐藏请求参数 @StepLog(hiddenInputOnCondition = &quot;com.ailk.ecs.test.controller.ControllerHidden&quot;) 这个自定义类ControllerHidden必须实现com.ailk.ecs.log.trace.HiddenOnCondition public class ControllerHidden implements HiddenOnCondition { @Override public String[] onCondition(Object[] o) { Map inMap = (Map) o[0]; if (&quot;1&quot;.equals(inMap.get(&quot;h1&quot;))) { return new String[] {&quot;h4&quot;}; } else { return new String[] {&quot;h2&quot;}; } } } 在这个方法里面返回条件结果,返回参数的形式和hiddenInput 一样 隐藏响应结果中的某个参数 @StepLog(hiddenOutput = {&quot;pwd&quot;}) 直接字段名,暂不支持多层结构 按条件隐藏响应结果中的参数 @StepLog(hiddenOutputOnCondition = &quot;com.ailk.ecs.test.controller.ControllerHidden&quot;) 同hiddenInputOnCondition 默认在step中不记录自定义参数,若想打开 @StepLog(selfDefined = true) 在处理过程中添加自定义参数</p> <p>LogContext.setSelfDefined(&quot;key&quot;, &quot;value&quot;); 同一个类中一个方法调用另外一个方法即使加上注解@StepLog也不会打印日志</p>

页面列表

ITEM_HTML