logback - 如何过滤 logback.xml 中的特定类记录器?
问题描述
我们尝试过滤从一类生成的日志:
com.websudos.phantom
为了两个目标:
来自应用程序的所有日志都保存在文件中,除了来自这个 calss 的日志
此文件中的所有日志都转移到 graylog。
我们使用此过滤器通过正则表达式过滤了这些日志:
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator>
<matcher>
<Name>parameter</Name>
<regex>Executing query</regex>
</matcher>
<expression>parameter.matches(formattedMessage)</expression>
</evaluator>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
这个类的Executing query
正则表达式:com.websudos.phantom
我们不接受将此类的级别设置为,OFF
因为我们需要将此日志传输到graylog而不是保存在文件中!
有什么解决办法?
解决方案
这是一个解决方案:
<filter class="ch.qos.logback.core.filter.EvaluatorFilter">
<evaluator> <!-- defaults to type ch.qos.logback.classic.boolex.JaninoEventEvaluator -->
<expression>logger.equals("com.websudos.phantom")</expression>
</evaluator>
<OnMismatch>NEUTRAL</OnMismatch>
<OnMatch>DENY</OnMatch>
</filter>
通过将此过滤器添加到任何appander,来自类的日志 com.websudos.phantom
被忽略
推荐阅读
- mongodb - 在聚合管道的 $project 中形成的字典顺序,在 pymongo 中获取时发生变化
- python - 将未对齐的值移动到给定的列
- android - 创建反应原生自定义标题样式?
- javascript - 如何将道具传递给材质 UI 样式的组件?
- batch-file - 在批处理文件中创建具有复杂路径目标的快捷方式文件
- ubuntu - 如何解决ansible中的这个致命错误?
- java - 学习存根和模拟的问题:无法将模拟类与单元测试联系起来
- csrf - 每个请求的 csrfp_token 或每个会话的 csrfp_token?
- python - django.db.utils.DataError: value too long for type character varying(100)
- javascript - 如何从数据库中的字段制作饼图?