【问题标题】:Configuring log file fields in IIS Express在 IIS Express 中配置日志文件字段
【发布时间】:2018-01-24 16:41:26
【问题描述】:

我正在处理日志文件并计算每个网站的流量使用情况。默认日志缺少我的必填字段(cs-hostsc-bytescs-bytes)。虽然我可以在 IIS 的 Logging 部分更改这些配置,但我可以选择要在日志记录中包含或排除的字段。我找不到任何方法来更改 IIS Express 的这些配置。无论如何要定义我想在 IIS express 中包含在日志中的字段吗?

在 IIS 配置、命令行代码中使用像 Logging 这样的 GUI,还是只编辑配置文件?

我找到了 IIS Express 日志文件配置,但在那里,但找不到任何关于在那里添加字段的信息:

%userprofile%\documents\iisexpress\config\applicationhost.config

SiteDefaults中有logFile配置:

<siteDefaults>
    <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs"/>
    <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>

【问题讨论】:

  • 是否根据this帮助更改此设置?
  • 有一个IIS Express管理控制台,jexusmanager.com/en/latest
  • @Subbu 实际上我以前读过这个,但这次我读得更彻底,我找到了解决方案。 logExtFileFlags logFile 的属性是我正在寻找的。非常感谢你。
  • @LexLi 这是一个非常棒的程序。非常感谢。你做得很好
  • 好问题。我想我会补充一下,您可能会在您的解决方案下的隐藏 .vs 文件夹中找到 applicationhost.config ......看看这个SO post

标签: c# asp.net iis logging iis-express


【解决方案1】:

要获得完整答案:您必须首先找到与您的站点对应的applicationhost.config,然后编辑&lt;logFile&gt; 部分。它可以在&lt;siteDefaults&gt; 中定义以将相同的设置应用于所有站点,也可以为每个&lt;site&gt; 部分定义。

要配置默认类别,可以使用logExtFileFlags 属性:

logExtFileFlags 属性可以是以下一个或多个值。如果您指定了多个值,请用逗号 (,) 分隔它们。

在您的情况下,您需要HostBytesRecvBytesSent

要添加自定义字段,您可以使用&lt;customFields&gt; 子部分。

这是一个完整的例子:

<logFile logFormat="W3C" directory="%AppData%\Microsoft\IISExpressLogs" 
 enabled="true" flushByEntryCountW3CLog="2" 
 logExtFileFlags="Host, BytesRecv, BytesSent">
  <customFields>
    <add logFieldName="custom-UUID" sourceType="RequestHeader" sourceName="UUID" />
  </customFields>
</logFile>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-12
    • 1970-01-01
    • 2011-05-15
    • 2012-07-11
    • 2016-06-30
    相关资源
    最近更新 更多