parsing后解释exim日志文件

我parsingexim日志文件,并由于我的处理方法,失去此文件中的所有条目的原始顺序。 我通过他们的交易ID重build交易(即1OfiYX-0000Ev-7k ),但仍然没有办法确定原来的订单。

<==>==**字符的原始顺序问题,对不对? 有没有办法重build订单没有任何额外的信息?

Αντίο

我认为答案仅限于你询问的符号,它总是会在你列出的其他符号之前出现,而消息的“ Completed行将出现在所有这些符号之后。 但是,其他符号===>**每一个都可以在<=Completed之间以任意顺序出现。

有一件事要记住,一条消息可以有多个收件人,每个收件人都可以延期( == ),因此这些符号的顺序对每个收件人都很重要

因此,当消息被本地服务器接受时,每条消息应该有一个<=

每条消息都应该有一个Completed行,表示本地服务器已经完成了消息

那些之间:

每条消息:收件人将只有** (失败)或=> (已发送)中的一个。 这将是该特定消息的最后一个条目:收件人。

每条消息:收件人可能有一个或多个== (延迟)行。 如果消息:收件人有一个==日志行,则会在该消息之前发生:收件人=>**行。

在给定的信息中,不同的收件人的顺序只有在你认为重要的时候才有意义。

Exim附带工具来帮助进行日志文件分析。 特别是,exigrep可能会引起兴趣,因为它可以search一行中的模式,然后显示该消息的所有日志行,包括匹配行之前的日志行。

Exim附带文档“Exim Specification”; 至less应该有一个名为“spec.txt”的文件,如果不是.pdf或其他变体, 这也在网上http://www.exim.org/ ; 您可能会发现“49.日志文件”,logging日志文件的确切格式,以及“50. Exim公用程序”是有用的。

每个日志行都有一个时间戳。 按exim message-id分组,然后按时间戳sorting,并返回原始订单。

是的,因为他们指出了消息stream的方向。 您需要改进处理方法,不要重新sorting条目。

您是否尝试过使用其中一个可用的日志文件parsing器,例如awstats或sawmill 。