IIS 日志记录,更频繁地写入日志文件

IIS 日志记录,更频繁地写入日志文件

我该如何配置 IIS 以更频繁地写入日志文件,它每 2 分钟写入一次。这是我的开发服务器,上面没有负载,我想让它立即写入,我该如何配置它,以便它更频繁地检查是否有内容要写入并写入。

也许通过注册表?IIS 配置编辑器?WMI?

答案1

正在运行 Windows 2008?如果是,执行以下命令将有所帮助:

netsh http flush logbuffer 

在 iis 6 (windows 2003) 中您可以尝试:

以下内容摘自(http://www.it-notebook.org/iis/article/flush_log.htm

IIS 6.0 日志由 HTTP.sys 处理。出于性能和可伸缩性原因,HTTP.sys 会在将日志写入磁盘之前对其进行缓冲一段时间。默认情况下,缓冲时间为一 (1) 分钟,缓冲区大小为 64 K。但在调试时(这取决于日志文件),不进行缓冲可能更好。目前不支持此操作,但一种不支持的方法是创建注册表值 DisableLogBuffering 并将其设置为 1。

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\DisableLogBuffering
Data Type: REG_DWORD
Range: 0 - 1
Note: The key does not exist by default. The value 1 means that log buffering is disabled. 0 means that it is enabled.

创建此值和/或更改其数据后,需要重新启动机器。

您不应该在生产服务器上执行此操作,这会导致问题。

注册表值 LogBufferSize 覆盖了 64 K 的默认日志缓冲区。这样做可以减少内存消耗(但会增加 CPU 和硬盘使用率)。

Registry Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Http\Parameters\LogBufferSize
Data Type: REG_DWORD
Range: 12,288 - 65,536

答案2

johnh 的命令行非常棒。以下内容也可能对某些人有帮助。 http://blogs.iis.net/bills/archive/2007/05/01/building-an-iis7-sql-logging-module-with-net.aspx

相关内容