Pergunta

A minha equipa está atualmente no processo de construção de uma aplicação ASP.NET MVC, e nós estamos tentando decidir qual destes quadros para implementar para lidar com erros e logs.

Quais são as razões para a escolha de um deles sobre o outro?

Foi útil?

Solução

Pessoalmente, tenho vindo a utilizar Enterprise Library para um número de nossos clientes e eu ainda tenho que usar ELMAH. Aqui está o meu pensamento sobre Ent Lib.

  • Irá demorar um pouco para chegar até a velocidade com Ent Lib -. Não é um 5 segundo instalar e começar a usar coisa
  • Há um monte de configuração para fazer no arquivo app.config / web.config apenas para torná-lo trabalho. Dito isto, uma vez que você entender, mais fácil em outros projetos.
  • Você deve implementar a bloquear o registro de, não apenas a manipulação de exceções do bloco para registrar a algum lugar informações (log de eventos, arquivo plano, banco de dados, etc.)
  • Não é apenas para exceções madeireiras. Por exemplo, muitos de nossos clientes querem obter eventos de log para quando um usuário se conecta ou logs de fora de um aplicativo.
  • Você pode usar o arquivo de configuração para alterar como o registo obras dependendo do ambiente (ou seja, exceções Entrar para a produção, tudo log para Dev, etc.).
  • Não é apenas para web, mas para todos os tipos de aplicações.

Um breve olhar sobre ELMAH me leva a crer que é uma ótima maneira de obter algo rápido. No longo prazo, você pode querer algo com energia adicional.

Outras dicas

ELMAH é simples, fácil de usar, e fácil de implementar. EntLib é grande "enterprisey", e poderoso. No seu caso, com base no pouco que sei sobre a sua situação, eu hesitaria em recomendar qualquer coisa. No entanto, se eu tivesse que escolher um para você eu diria ELMAH pelas razões expostas.

Eu posso ser fora da base aqui, que é muitas vezes o caso, mas EntLibrary destina-se a ajudar a desenvolver o tratamento de exceção enquanto ELMAH é jsut indo mostrar-lhe quando e onde exceções ocorreu. Se você quer apenas um relatório de exceções usar ELMAH, se você precisar de mais energia EntLib.

Além disso, Elmah é projetado especificamente para capturar e registrar não tratada exceções. Ele pode ser configurado para registrar exceções capturadas, mas isso é uma adição recente e não o seu objectivo principal.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top