Log4j过滤标记数据

时间:2014-10-16 16:04:42

标签: java log4j2

我将标记用于入站和出站数据包。所有数据包都以int id为前缀。有时为了调试purpopses我还需要通过id过滤数据包。我怎么能记录前缀为3的数据包?

private static final Marker packets = MarkerManager.getMarker("Packets");

logger.debug(packets, "[IN:" + packetState + ":" + packet.getId() + "] " + packet.toString());

2 个答案:

答案 0 :(得分:0)

您可以使用RegexFilter执行此操作:http://logging.apache.org/log4j/2.x/manual/filters.html#RegexFilter

答案 1 :(得分:0)

你可以使用apache ThreadContext将id放在那里,然后通过约定ID在你的日志中检索地图:[%X {id}]其中id是你放在ThreadContext Map中的id ..