Materiais de apoio
Há um tutorial bastante simples e direto para utilizar o NLong no pacote oficial do github.
Há também o vídeo “NLog: Logging to a file = Code in 60 Seconds”
É um vídeo muito mais simples que o citado no post do log4net, mostrando muito menos detalhes, mas já dá para ver que é muito rápido começar a utilizar o NLog.
Há muita documentação no wiki do pacote oficial do GitHub.
1 - Instalar na aplicação o pacote nuget, que pode ser feito via comando no Package Manager Console:
Install-Package NLog
Para ser um acelerador, aconselho instalar a configuração na aplicação:
Install-Package NLog.Config
Há diversos instaladores específicos para facilitar ainda mais o uso, dependendo do projeto que for necessário:
- NLog.Web - pacote contem targets e layout-renderes específicos para o ASP.Net and IIS.
- NLog.Windows.Forms - pacote contem targets específicos Windows.Forms
- NLog.Extended - MSMQ target, AppSetting layout renderer
- NLog.Config - Configuração NLog exemplo/inicial
- NLog.Schema - XSD Schema para o NLog config xml - para, entre outras coisas, ter o Intellisense no Visual Studio
2 - Configurar NLog.config
Aqui o NLog fica muito mais simples, já que o intellisense do Visual Studio ajuda em toda a configuração do arquivo.
O nível (level) do NLog possibilita as essas opções:
- Trace - log muito detalhado, o que pode incluir alto volume de informação (como payload do protocolo). Este nível de log é tipicamente habilitado somente durante o desenvolvimento.
- Debug - informação de depuração, menos detalhada que o trace, tipicamente não habilitado em produção.
- Info - mensagens de informação, que normalmente são habilitado no ambiente de produção
- Warn - mensagens de avisos, tipicamente para assuntos não críticos, que podem ser recuperadas ou falhas temporárias
- Error - mensagens de erros - na maioria das vezes estas são exceções
- Fatal - erros muito sérios
O resultado é uma configuração extremamente simples:
Também é fácil fazer a configuração do log através de programação, como nesta resposta do Stack Overflow "Add, enable and disable NLog loggers programmatically".
3 Definir a instância da classe
Há um método para facilitar a configuração da instância na classe:4 Efetuar log
logger.Trace("");logger.Debug("");
logger.Info("");
logger.Warn("");
logger.Error("");
logger.Fatal("");
logger.Log(LogLevel.Info, "");
O código fonte do exemplo está disponível no GitHub.