Usando o FREB (Failed Requests Event Buffering) no IIS 7, 7.5 e 8
O FREB é um recurso muito utilizado para entendermos situações onde acontecem erros que não são simples ou conhecidos.
Para habilitar podemos usar a console, ou a linha de comando, para facilitar habilita-lo e desabilita-lo abaixo as linhas de comandos :
1) Os comandos abaixo tem como finalidade: Habilitar o FREB para o Default Web Site / Define diretório padrão e numero máximo de logs para serem coletados
appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.directory:"%SystemDrive%\inetpub\logs\FailedReqLogFiles" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.maxLogFiles:"50" /commit:apphost
2) Cria regra de coleta para erros 401 e 500 ( Essa regra é apenas um exemplo. Alterar conforme necessidade)
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /[path='*'].failureDefinitions.statusCodes:"401,500"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ASPNET',areas='Infrastructure,Module,Page,AppServices',verbosity='Verbose']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ASP',verbosity='Verbose']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='ISAPI Extension',verbosity='Verbose']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='WWW Server',areas='Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,FastCGI',verbosity='Verbose']"
3) Desabilita o recurso de coleta de logs avançados.
appcmd.exe set config -section:system.applicationHost/sites /[name='"Default Web Site"'].traceFailedRequestsLogging.enabled:"False" /commit:apphost