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想冲突的字段。

posted @ 2014-11-25 23:13  Tim_et  阅读(768)  评论(3)    收藏  举报