Acho mais útil pensar em severidades da perspectiva de exibição do arquivo de log.
Fatal / Crítico : Falha geral no aplicativo ou no sistema que deve ser investigada imediatamente. Sim, acorde o SysAdmin. Como preferimos o alerta do SysAdmins e estamos descansados, essa severidade deve ser usada com pouca frequência. Se está acontecendo diariamente e não é um BFD, está perdido seu significado. Normalmente, um erro fatal ocorre apenas uma vez na vida útil do processo; portanto, se o arquivo de log estiver vinculado ao processo, essa será a última mensagem no log.
Erro : Definitivamente um problema que deve ser investigado. O SysAdmin deve ser notificado automaticamente, mas não precisa ser arrastado da cama. Ao filtrar um log para examinar os erros e acima, você obtém uma visão geral da frequência dos erros e pode identificar rapidamente a falha inicial que pode ter resultado em uma cascata de erros adicionais. O rastreamento das taxas de erro versus o uso do aplicativo pode gerar métricas úteis de qualidade, como MTBF, que podem ser usadas para avaliar a qualidade geral. Por exemplo, essa métrica pode ajudar a informar as decisões sobre a necessidade ou não de outro ciclo de testes beta antes do lançamento.
Aviso : PODE ser um problema ou não. Por exemplo, condições ambientais transitórias esperadas, como perda curta de conectividade de rede ou banco de dados, devem ser registradas como avisos, não erros. A visualização de um log filtrado para mostrar apenas avisos e erros pode fornecer informações rápidas sobre dicas iniciais da causa raiz de um erro subsequente. Os avisos devem ser usados com moderação para que não fiquem sem sentido. Por exemplo, a perda de acesso à rede deve ser um aviso ou até mesmo um erro em um aplicativo de servidor, mas pode ser apenas uma informação em um aplicativo de desktop projetado para usuários de laptop desconectados ocasionalmente.
Informações : são informações importantes que devem ser registradas em condições normais, como inicialização bem-sucedida, inicialização e parada de serviços ou conclusão bem-sucedida de transações significativas. A visualização de um log mostrando Informações e acima deve fornecer uma rápida visão geral das principais alterações de estado no processo, fornecendo um contexto de nível superior para entender quaisquer avisos ou erros que também ocorram. Não possui muitas mensagens informativas. Normalmente, temos <5% de mensagens informativas relativas ao rastreamento.
Rastreio : O rastreio é de longe a gravidade mais usada e deve fornecer contexto para entender as etapas que levam a erros e avisos. Ter a densidade certa de mensagens de rastreamento torna o software muito mais sustentável, mas requer alguma diligência, pois o valor das instruções individuais do rastreamento pode mudar com o tempo à medida que os programas evoluem. A melhor maneira de conseguir isso é adquirir a equipe de desenvolvimento com o hábito de revisar regularmente os logs como parte padrão da solução de problemas relatados pelos clientes. Incentive a equipe a remover mensagens de rastreamento que não fornecem mais contexto útil e a adicionar mensagens quando necessário para entender o contexto de mensagens subseqüentes. Por exemplo, geralmente é útil registrar a entrada do usuário, como alterar telas ou guias.
Debug : Consideramos Debug <Rastreio. A distinção é que as mensagens de depuração são compiladas a partir das versões do Release. Dito isto, desencorajamos o uso de mensagens de depuração. Permitir mensagens de depuração tende a levar a que mais e mais mensagens de depuração sejam adicionadas e nenhuma seja removida. Com o tempo, isso torna os arquivos de log quase inúteis, porque é muito difícil filtrar o sinal do ruído. Isso faz com que os desenvolvedores não usem os logs que continuam a espiral da morte. Por outro lado, as mensagens Trace constantemente removidas incentivam os desenvolvedores a usá-las, o que resulta em uma espiral virtuosa. Além disso, isso elimina a possibilidade de erros introduzidos devido aos efeitos colaterais necessários no código de depuração que não estão incluídos na versão. Sim, eu sei que isso não deve acontecer em bom código, mas é melhor prevenir do que remediar.
notice
nesta coleção alguém não vai ...