通过TurboFilter修改Logback消息

时间:2015-11-02 11:39:46

标签: logback

我想使用Logback TurboFilter来修改记录消息的内容。具体来说,我想使用Spring Security将登录用户的用户名添加到消息中(这样,我可以在日志上使用简单的grep来查找引用单个登录用户的日志消息)。

看起来自定义TurboFilter是可行的方法,但文档对于我想要做的事情有点不清楚。

这是我想要做的事情的骨架:

public class LoggingTurboFilter extends TurboFilter {

    @Override
    public FilterReply decide(Marker marker, Logger logger, Level level,
            String format, Object[] params, Throwable t) {

        final String userId = SecurityContextHolder.getContext().getAuthentication().getName();

        // get message
        final String output = String.format("[%s] %s", userid, message); // or just use +

        // ?
        return FilterReply.NEUTRAL;
    }
}

这样,应用程序日志中的日志语句如下所示:

[smithjohn] entered methodName()

有人可以帮忙吗?

0 个答案:

没有答案