IIS 7.5 上的日志记录

IIS 7.5 上的日志记录

当 IIS 将日志条目刷新到磁盘时,它是否总是在写入实际条目之前插入 #Fields + #Date 行?

换句话说:如果我想编写一个处理日志条目的函数,我怎么知道日志文件的哪部分我已经处理过以及哪部分是新添加的。

答案1

不,它只会在日志文件“关闭”之间执行此操作。

如果我没记错的话,它们并不是完全可预测的,并且取决于应用程序行为和流量模式。如果在 X 分钟内没有发生任何活动(我记得 X 是 5 的倍数,但可能会与其他内容混淆),HTTP.SYS 将关闭日志。活动会导致日志重新打开,从而导致标题被重写。

工作进程终止并不一定会导致写入新的标题,至少在重叠循环中不会。

答案2

您可以记录从文件中读取的字节数(或行数),或查询当前文件位置并在下次查找该位置。或者,您可以保持文件打开并尝试读取它,直到返回数据。

相关内容