Elmah.axd é navegável, mas nunca irá registar qualquer um dos meus erros?
-
19-09-2019 - |
Pergunta
Eu tenho tudo configurado e posso navegar para /elmah.axd mas eu tenho sido causando todos esses erros e não registrará qualquer um deles, ele apenas diz 'nenhum erro registrado' ... o que o Parreira eu fiz de errado?
Aqui está o material que eu adicionei ao meu web.config:
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
</httpModules>
<elmah>
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
<security allowRemoteAccess="yes" />
</elmah>
TAMBÉM: Isso já foi no início dos meus RegisterRoutes ()
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
Eu li que não importa mais com ASP.NET MVC 1.0, porém, supostamente (por website ELMAH ...)
Solução
A configuração parece estar em ordem; Meu melhor palpite é que o IIS usuário do aplicativo web não tem permissão para gravar App_Data. Se você bloqueado permissões, o usuário do aplicativo terá lido, mas não escrita, permissões lá.
Você pode abrir permissões-se ou identifique-se para outro fora do diretório do caminho web (que é um pouco mais seguro IMO) e certifique-se de que as permissões de leitura / gravação para o usuário são definidas lá.
Outras dicas
A receita Solução
Eu instalei a partir elmah
NuGet e elmah on XML log
, não tem a funcionalidade esperada embora eu poderia acessar http://localhost/elmah.axd
, mas não captura erro.
Eu dei permissão de gravação para os IIS_IUSERS conta na pasta App_Data e começou a trabalhar para HTTP 404 erros e os erros que estão fora da infra-estrutura MVC. Mas não exceções dentro do MVC log. A solução foi instalar elmah.mvc pacote do NuGet e passou a capturar todas as exceções.
Se a sua configuração é OK, em seguida, basta instalar o pacote elmah.mvc
de NuGet e deve começar a armazenar os logs também no interior MVC, não apenas HTTP 404.