Gostaria de implementar o registro em meu aplicativo, mas prefiro não usar nenhuma estrutura externa como o log4net.
Então, eu gostaria de fazer algo como o eco do DOS para um arquivo. Qual é a maneira mais eficaz de fazer isso?
Existe uma maneira de registrar exceções não tratadas registradas sem usar uma estrutura externa?
Respostas:
Para mais informações MSDN
fonte
using
arquivo, embora, como é local, um método será descartado logo de qualquer maneira.file.WriteLine(lines);
lançar uma exceção, o código nunca será atingidofile.Close();
. Fazendo uso deusing
é equivalente atry { // using block } finally { // Dispose }
. Isso significa que o objeto será descartado mesmo se o código dentro dousing
bloco lançar uma exceção,Por quê? Log4net provavelmente atenderia à maioria de seus requisitos. Por exemplo, verifique esta classe: RollingFileAppender .
Log4net é bem documentado e existem milhares de recursos e casos de uso na web.
fonte
Você pode gravar diretamente em um log de eventos. Verifique os seguintes links:
http://support.microsoft.com/kb/307024
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.aspx
E aqui está o exemplo do MSDN:
fonte
Se você está procurando uma maneira realmente simples de registrar, você pode usar este liner. Se o arquivo não existir, ele será criado.
fonte
Eu costumava escrever meu próprio registro de erros até descobrir o ELMAH . Eu nunca fui capaz de fazer a parte do e-mail tão perfeitamente quanto ELMAH faz.
fonte
Se você quiser ficar perto do .NET, verifique o Enterprise Library Logging Application Block . Olhe aqui . Ou para um tutorial de início rápido, verifique isto . Eu usei o aplicativo de validação Block da Biblioteca Corporativa e ele realmente atende às minhas necessidades e é muito fácil de "herdar" (instalar e refazer!) Em seu projeto.
fonte
Se você deseja seu próprio registro de erros personalizado, pode facilmente escrever seu próprio código. Vou te dar um trecho de um dos meus projetos.
Então, para realmente gravar no log de erros, basta gravar (
q
sendo a exceção capturada)fonte