码迷,mamicode.com
首页 > 其他好文 > 详细

日志框架

时间:2016-08-07 21:39:39      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:

1、NLog

技术分享
    <targets>
      <!--记录日志到文件-->
      <target xsi:type="File" name="fileLog"
                fileName="${basedir}/LogFile/${shortdate}.log"
            layout="${date:format=yyyy-MM-dd HH\:mm\:ss}|${level:uppercase=true}|${logger}${newline}${message}${newline}${newline}" />

      <!--记录日志到SqlServer数据库-->
      <target name="dbLog" xsi:type="Database">
        <connectionString>Data Source=localhost;Initial Catalog=Demo;Persist Security Info=True;User ID=sa;Password=123456789;</connectionString>
        <dbProvider>System.Data.SqlClient</dbProvider>
        <commandText>
          INSERT INTO dbo.Log
          (Logged,Level,Message,Username,ServerName,Logger)
          VALUES
          (@Logged,@Level,@Message,@Username,@ServerName,@Logger)
        </commandText>
        <parameter name="@logged" layout="${date}" />
        <parameter name="@level" layout="${level}" />
        <parameter name="@message" layout="${message}" />
        <parameter name="@username" layout="${identity}" />
        <parameter name="@serverName" layout="${machinename}" />
        <parameter name="@logger" layout="${logger}" />
      </target>
      
      <!--发送邮件日志-->
      <target xsi:type="Mail" name ="mailLog"
              smtpServer="smtp.gmail.com"
              smtpPort="587"
              smtpAuthentication="Basic"
              smtpUsername="邮箱用户名"
              smtpPassword="邮箱密码"
              enableSsl="true"
              addNewLines="true"
              from="发件人"
              to="收件人(逗号分隔)"
              cc="抄送"
              html="true"
              encoding="UTF-8"
              subject="邮件主题"
              header="************************************************************************"
              body="${newline}
                  时间:${date:format=yyyy-MM-dd HH\:mm\:ss} ${newline}${newline}
                  级别:${level:uppercase=true} ${newline}${newline}
                  Logger:${logger} ${newline}${newline}
                  详情:${message} ${newline}${newline}"
              footer="************************************************************************"
        />
    </targets>
    <rules>
      <logger name="*" minLevel="Debug" maxlevel="Fatal" writeTo="fileLog" />
      <logger name="*" minLevel="Debug" maxlevel="Fatal" writeTo="dbLog" />
      <logger name="*" minLevel="Debug" maxlevel="Fatal" writeTo="mailLog" />
    </rules>
  </nlog>
View Code

 2、Log4Net

技术分享
<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <!--日志记录组建配置-->
  <log4net>
    <!-- Console部分log输出格式的设定 -->
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="[%-5p]|%d|%logger|[%ndc] %n%m%n" />
      </layout>
    </appender>
    <!-- 日志文件部分log输出格式的设定 -->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="Logs\" />
      <!--多线程时采用最小锁定-->
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
      <!--是否追加到文件,默认为true,通常无需设置-->
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
      <datePattern value="yyyyMMdd‘.txt‘" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <header value="" />
        <!--[%-5p]:日志级别,格式化为5个宽度 [%d]日志时间 [%logger]:日志记录者 [%n]:换行 [%m]:日志内容-->
        <ConversionPattern value="[%-5p]|%d|%logger|[%ndc] %n%m%n%n" />
      </layout>
    </appender>

    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
      <!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
      <!--如果没有定义LEVEL的值,则缺省为DEBUG-->
      <level value="DEBUG" />
      <!--<appender-ref ref="ConsoleAppender" />-->
      <appender-ref ref="RollingLogFileAppender" />
    </root>
  </log4net>
</configuration>
View Code

 

日志框架

标签:

原文地址:http://www.cnblogs.com/Jabben/p/5747264.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!