Logback能否以能给appender设置标记,使自定义过滤器根据标记来过滤日志?
java有很多第三方框架,这些框架会自己输出一些debug、error级别的日志,而我的日志输出需求是,输出我编写代码的debug级别的日志,但又不想输出第三方框架内的debug级别的日志,但有又想输出所有error,warn级别的日志。
我想到了自定义过滤器,过滤器检测到debug日志时,如果日志输出的位置不是我java项目中的包名,就丢弃,如果是我项目包名下的debug级别的日志。就放行。如果检测到error,warn级别的日志,就全部放行。
但有没有比包名过滤更好的方法呢?比如标记
比如appender设置一个标记字符串为 “key”,至于这个标记怎么设置,不是重点。我想在该appender规则下制造的日志对象,在自定义过滤器里能否在ILoggingEvent的非Msg内容里找到名为“key”的标记呢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不用这么复杂。
不知道你使用的配置形式,spring boot 使用的 log 框架这么配置就行了,所有的 log 框架都有类似的配置。
希望自定义过滤方式,参考
ch.qos.logback.classic.filter.LevelFilter
。能够判断等级与日志信息,实现自定义过滤。