不使用 GUI 就无法启用 IIS 日志记录
Can't enable IIS logging without using the GUI
已通过 GUI 禁用 IIS 日志记录:
我只想启用它,但显然不使用 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 并单击启用。
当我运行这个它returns是的:
PS C:\Windows\System32\inetsrv> (Get-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -filter "/system.applicationHost/sites/MYSite" ).logfile.enabled
编辑:
因此,即使 GUI 将其显示为 "disabled",记录 似乎 也能正常工作。也许这是 GUI 中的错误?
编辑2:
好的,如果我尝试 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 中单击启用站点登录并且没有收到任何错误。
当我编写 IIS 管理器的克隆时,我可以告诉您 "Enable/Disable" 按钮链接到名为 "dontLog"、https://github.com/jexuswebserver/JexusManager/blob/master/JexusManager.Features.Logging/LoggingFeature.cs
的属性
可以在
找到它的参考
https://www.iis.net/configreference/system.webserver/httplogging
已通过 GUI 禁用 IIS 日志记录:
我只想启用它,但显然不使用 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 并单击启用。
当我运行这个它returns是的:
PS C:\Windows\System32\inetsrv> (Get-WebConfiguration -PSPath 'MACHINE/WEBROOT/APPHOST' -filter "/system.applicationHost/sites/MYSite" ).logfile.enabled
编辑: 因此,即使 GUI 将其显示为 "disabled",记录 似乎 也能正常工作。也许这是 GUI 中的错误?
编辑2: 好的,如果我尝试 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 中单击启用站点登录并且没有收到任何错误。
当我编写 IIS 管理器的克隆时,我可以告诉您 "Enable/Disable" 按钮链接到名为 "dontLog"、https://github.com/jexuswebserver/JexusManager/blob/master/JexusManager.Features.Logging/LoggingFeature.cs
的属性可以在
找到它的参考https://www.iis.net/configreference/system.webserver/httplogging