NLog配置设置
以下为最近自己设置的NLog配置文件:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="true">
<targets>
<target name="WriteFile" type="File" fileName="${basedir}/Log/${logger}_${shortdate}_${level}.txt" layout="${longdate}${newline}${message}${newline}"/>
<target name="ShowConsole" type="Console" layout="${date:format=HH\:mm\:ss}|${level}|${stacktrace}|${message}"/>
<target name="SendEmail"
type="Mail"
header="----------"
footer="----------"
layout="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
html="false"
addNewLines="true"
subject="${message}"
to="909800@qq.com"
from="xxx@163.com"
body="${longdate} ${level} ${callsite} ${message} ${exception:format=Message, Type, ShortType, ToString, Method, StackTrace}"
smtpUserName="xxx"
enableSsl="false"
smtpPassword="********"
smtpAuthentication="Basic"
smtpServer="smtp.163.com"
smtpPort="25" />
<target name="SaveDb" type="Database" connectionString="Data Source=.;Initial Catalog=TestDb;Persist Security Info=True;User ID=sa;Password=123456;">
<commandText>
Insert into NLog_Record(time_stamp, level, host, url, type, source, logger, message, stacktrace, detail, loginuser) Values(@time_stamp, @level, @host, @url, @type, @source, @logger, @message, @stacktrace, @detail, @loginuser);
</commandText>
<parameter name = "@time_stamp" layout = "${date:format=yyyy\-MM\-dd HH\:mm\:ss.fff} " />
<parameter name = "@level" layout = "${level}"/>
<parameter name = "@host" layout = "${machinename}" />
<parameter name = "@url" layout = "${level}" />
<parameter name = "@type" layout = "${exception:format=type}" />
<parameter name = "@source" layout = "${callsite:className=true}" />
<parameter name = "@logger" layout = "${logger}" />
<parameter name = "@message" layout = "${message}" />
<parameter name = "@stacktrace" layout = "${exception:stacktrace}" />
<parameter name = "@detail" layout = "${exception:format=tostring}" />
<parameter name = "@loginuser" layout = "${level}" />
</target>
</targets>
<rules>
<logger name="*" level="Info" writeTo="WriteFile"/>
<logger name="*" level="Trace" writeTo="ShowConsole"/>
<logger name="*" level="Fatal" writeTo="SendEmail"/>
<logger name="*" level="Error" writeTo="SendEmail"/>
<logger name="*" minlevel="Warn" writeTo="SendEmail"/>
</rules>
</nlog>
其中需要注意的一些方面:
1、在写文件时,如果不是直接在根目录下创建,则需要手动添加路径目录。
2、在发送邮件时,要注意smtpServer="smtp.163.com" smtpServer是指定smtp方式发送的,不能设为mail.163.com;还有smtpUserName="xxx" 要配置正确
3、在配置时参数时,不能出现与NLog想冲突的字段。

浙公网安备 33010602011771号