Umbraco网站和IIS Logging

时间:2012-08-07 13:40:20

标签: iis logging azure dns umbraco

我在Azure云中有一个Umbraco实例,如果内存正确可用,则为v4.7。我需要利用IIS日志记录来获取网站使用情况统计信息,但似乎存在限制。

我有多个不同的网站,都使用各种网站模板,但IIS日志似乎没有输出域名。如何让IIS输出域名?

下面是当前IIS日志捕获的示例(我知道这是一个BOT抓取网页,但我有真正的流量,但无法识别访问的网站):

2012-08-06 00:11:54 10.61.52.73 GET /保险/保险/ - 80 - 46.4.38.67 InnovantageBot / 1.0 +(http://www.innovantage.co.uk/technology/webmaster_information.htm)200 0 0 390 2012-08-06 00:11:55 10.61.52.73 GET /保险/理由/ - 80 - 46.4.38.67 InnovantageBot / 1.0 +(http://www.innovantage.co.uk/technology/webmaster_information.htm)200 0 0 578 2012-08-06 00:11:55 10.61.52.73 GET /保险/类型/ - 80  00:11:55 10.61.52.73 GET / life / qa / - 80 - 46.4.38.67 InnovantageBot / 1.0 +(http://www.innovantage.co.uk/technology/webmaster_information.htm)200 0 0 359 2012-08 -06 00:11:55 10.61.52.73 GET / life / reasons / - 80 - 46.4.38.67 InnovantageBot / 1.0 +(http://www.innovantage.co.uk/technology/webmaster_information.htm)200 0 0 328 2012-08-06 00:11:57 10.61.52.73 GET / insurance / glossary / - 80 - 46.4.38.67 InnovantageBot / 1.0 +(http://www.innovantage.co.uk/technology/webmaster_information.htm)200 0 0 374

1 个答案:

答案 0 :(得分:1)

在您的WebRole.cs中,您可以调整IIS和IIS中运行的每个站点。您可以选择应记录哪些字段,我认为您正在寻找LogExtFileFlags.Host字段:

using (var manager = new ServerManager())
{
    var siteName = RoleEnvironment.CurrentRoleInstance.Id + "_Web";
    var site = manager.Sites[siteName];
    site.LogFile.LogExtFileFlags |= LogExtFileFlags.Host;
    manager.CommitChanges();
}

确保您的角色在提升模式下运行,在 ServiceDefinition.csdef 文件中进行更改:

<Runtime executionContext="elevated" />

您还应该能够使用 appcmd.exe 更改此设置:

http://www.iis.net/ConfigReference/system.applicationHost/sites/siteDefaults/logFile#005

相关问题