logback使用二三例

logback在打印日志的时候输出当前用户名,可以采用pattern的方式,常见的pattern有date, thread,因此我们需要自定义一个pattern占位符即可,在logback.xml中设置conversionRule,继承ClassicConverter,



在接口测试中,有的账户要跑大量的数据,会记录很多日志,给硬盘造成很大压力,因此想要这些账户不打印日志。
最初的想法是继承TurboFilter,重写decide()方法,从subject里拿到当前用户名,如果符合限制,则返回FilterReply.DENY,否则返回FilterReply.NEUTRAL。
想法是好的,结果项目死循环,启动不了。因为logger.log()->turboFilter.decide()->subject.getPrincipal()->subject.getSession()->logger.log()->turboFilter.decide()这样死循环了,最后只能作罢,通过让前端在Http请求时带上特殊header,request.getHeader()方法没有logger代码的使用,规避了死循环。


我们发现,在logback框架中如果logback要打印日志,都是通过System.out/error来做得,不能自己调用自己来打印日志。

你可能感兴趣的:(logback使用二三例)