【问题标题】:Filter messages on method level?在方法级别过滤消息?
【发布时间】:2013-04-11 03:30:49
【问题描述】:

在 log4j 中,是否可以不仅在包/类级别进行过滤,还可以在方法级别进行过滤?如果是,怎么做?

感谢任何提示:-)

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    在 log4j 中,您不按包或类“过滤”(我假设您指的是定义每个记录器的日志级别的配置),而是按记录器名称进行过滤。

    碰巧大多数时候使用类的名称来实例化记录器,因此记录器的名称最终成为该类的规范名称。你可以给你的记录器起任何名字,然后用这个名字来配置它。

    【讨论】:

    • 嗯我明白你的意思,所以最后每个记录器级别都有一个过滤器(所以实际上并不是真正的记录器名称)。可悲的是,能够只专注于一种方法会很好):
    • 假设你的方法M在你的A类中,你可以创建一个名为“A.M”的记录器,然后只在方法M中使用这个记录器。这样你就可以按照你想要的方式配置它在你的 log4j 配置中。
    • 谢谢,这是一个想法,但会涉及更改现有代码。这里有一些过滤器:stackoverflow.com/questions/3730343/…想知道是否在格式化消息后应用过滤器(我通过适当的 layout.ConversionPattern 在消息中包含方法名称)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 2014-10-21
    • 2010-09-14
    • 2019-03-30
    • 2012-02-09
    • 1970-01-01
    相关资源
    最近更新 更多