NLog vs log4net
Tanto NLog e log4net são duas escolhas populares, ao selecionar um registro de quadro .NET applications. Neste post, você vai aprender tudo sobre ambos os frameworks e as diferenças. Para aqueles de vocês que não conhecem um ou ambos os frameworks, vamos começar com algumas palavras sobre cada framework.
log4net
provavelmente a estrutura de Registo mais antiga do bloco, o log4net já existiu bastante desde que o .NET foi introduzido. log4net foi originalmente uma versão interna do Apache log4j desenvolvida pela Neoworks Limited em 2001. O projeto rapidamente se mudou para Sourceforge (o GitHub de 2001) e foi lançado sob a Licença Apache. Desde então, o log4net tem sido uma das escolhas mais populares no mundo.NET para adicionar o logging às aplicações.
log4net funciona com o conceito de remetentes, onde as mensagens de log podem ser encaminhadas para diferentes reservas de dados. Muitos appenders foram implementados durante os anos, como o logging para o sistema de arquivos, servidor SQL, endpoints HTTP, e até mesmo bases de dados NoSQL, no entanto sendo mensagens de texto não estruturadas, log4net e NoSQL não vão exatamente de mãos dadas.
NLog
While log4net quickly became the default choice, alternatives began to show up. Provavelmente o primeiro competidor real a dominar a log4net foi a NLog. Originalmente desenvolvido por Jarek Kowalski e com pedidos puxados de quase 100 pessoas, o blog é uma grande alternativa. Enquanto o log4net praticamente ficou parado a partir de 2006,o NLog apenas continuou. Enquanto Jarek parecia desligar o plug ao começar no Google, a comunidade parecia subir e novos lançamentos ainda estão fluindo.
como log4net, o blog contém vários alvos de log e é capaz de logar mensagens para várias reservas de dados.
configuração
todas as estruturas de Registo necessitam de algum tipo de configuração, a fim de que a estrutura saiba o que registar e para onde.
log4net
log4net está configurado através da sua aplicação.ficheiro de configuração ou log4net dedicado.a configuração:
NLog
NLog pode ser configurada através de XML e C#. A maioria das pessoas usa XML, desde que isso está lá desde o início e desde que a API baseada em C# não é tão agradável como os frameworks mais recentes como Serilog.
registar as mensagens
quando se trata de registar as mensagens da sua aplicação, o log4net e o NLog funcionam de forma bastante semelhante.
log4net
as mensagens de registo são escritas utilizando a API log4net:
var log = LogManager.GetLogger(typeof(Bar));log.Debug("Hello World");
informações adicionais de Registo podem ser anexadas a uma mensagem de Registo usando uma gama de diferentes opções de contexto:
embora possa incorporar informação directamente nas mensagens de registo com o log4net, o registo semântico não é suportado.
NLog
NLog fornece uma API semelhante ao log4net para o registro de mensagens configurado conjunto de metas:
var logger = NLog.LogManager.GetCurrentClassLogger();logger.Debug("Hello World");
propriedades Adicionais podem ser anexadas bem:
var msg = new LogEventInfo(LogLevel.Debug, "", "Hello World");msg.Properties.Add("Application", "MyCoolApp");logger.Debug(msg);
A recente versão do NLog suporta semântica de log. Para adicionar semântica às suas mensagens de Registo, use a sintaxe curly brace:
logger.Info("Order {orderid} created for {user}", 42, "Kenny");
conclusão
escolher um vencedor não é o objetivo deste post. Ambos os quadros de exploração têm os seus próprios benefícios e desvantagens.
log4net
> Vantagens