无法使用GUI即可启用IIS日志记录

时间:2016-08-24 21:20:20

标签: iis logging webserver iis-8

通过GUI禁用IIS日志记录: enter image description here

我只想启用它,但显然不使用GUI就不可能。

我试过的命令:

appcmd set config /section:httpLogging /dontLog:False /selectiveLogging:LogAll

Set-ItemProperty "IIS:\Sites\MySite" -name logFile -value @{enabled=$true}

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='MySite']/logFile" -name "LogExtFileFlags" -value @{enabled=$true}

当我执行Get-Windowsfeature时,我可以看到IIS-HttpLogging被标记为已启用。

我没有尝试过任何已启用IIS日志记录的功能,我必须使用GUI并单击启用。

当我运行它时,它返回true:

PS C:\Windows\System32\inetsrv> (Get-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -filter "/system.applicationHost/sites/MYSite" ).logfile.enabled

编辑: 因此,即使GUI将其显示为"禁用",日志记录似乎也能正常工作。也许这是GUI中的一个错误?

EDIT2: 好的,如果我尝试appcmd命令并定位我的特定网站,我会收到此错误:

.\appcmd set config "MySite" /section:httpLogging /dontLog:False

PS C:\Windows\System32\inetsrv> .\appcmd set config "MySite" /section:httpLogging /dontLog:False
ERROR ( message:Can not set attribute "dontLog" to value "False".. Reason: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false

是说该部分已锁定在父级别,但我能够点击启用该网站在GUI中登录并且没有出现任何错误。

1 个答案:

答案 0 :(得分:1)

当我编写IIS管理器的克隆时,我可以告诉你"启用/禁用"按钮链接到名为" dontLog",https://github.com/jexuswebserver/JexusManager/blob/master/JexusManager.Features.Logging/LoggingFeature.cs

的属性

其参考资料可在

找到

https://www.iis.net/configreference/system.webserver/httplogging