NLog是一个后来发展起来的日志功能,比起Log4net要年轻许多,但是功能确实非常好用,并且配置简单。
1、安装Nlog 和Nlog configuration
点击安装下边的NLog.Config就行了,NLog会一起安装成功。
2、配置文件
安装完之后项目里边多了
配置内容写在这个里边。主要用到两个标签:
Target:这个是主要用来配置日志输出的相关参数的,比如输出到文件还是数据库,输出的文件名称是什么,内容格式是什么等。
Rules:输出规则,定义根据不同的日志级别输出到不同的地方,比如Info类型的输出到文件,Error类型的通过邮件发送处理等。
详细的配置内容参考官方文档:https://github.com/nlog/NLog/wiki/Configuration-file
贴一个我自己写的比较简单的配置内容:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="myvar" value="myvalue"/>
<targets>
<target xsi:type="File" name="file" fileName="${basedir}/Logs/${date:format=yyyyMM}/${shortdate}.txt"
layout="
${newline}时间: ${longdate}
${newline}来源: ${callsite}
${newline}等级: ${level}
${newline}信息: ${message}
${newline}堆栈: ${event-context:item=exception} ${stacktrace}
${newline}${newline}-----------------------------------------------------------" />
</targets>
<rules>
<logger name="*" writeTo="file" />
</rules>
</nlog>
3、测试一下:
写一个段测试代码:
string s = null;
s.ToString();
全局捕获异常,并输出到日志:
我们在项目中找到了生成的日志和对应的错误信息,这样基本的日志功能就实现了。