<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      IBatis.net使用二--用Log4net寫日志

      查看文章索引請通過http://www.rzrgm.cn/seesea125/archive/2012/04/17/2453256.html

      IBatis.Net中提供了方便的日志處理,可以引用IBatisNet.Common.Logging.Log4Net.dll寫日志,當然IBatisNet.Common.dll這個是必須引用的。

      IBatis.Net處理日志不需要寫代碼實現,只需要配置就可以了,下面貼出Log4Net的配置文件Log4net.config,并加以解釋。(這個文件一般放在站點根目錄下,當然放其他目錄下也行,只要能在程序運行時的global.asa的Application_Start方法里加上監視即可)

      第一步: 首先添加在程序運行時的Application_Start方法里加上監視:

      //ConfigureAndWatch這個是添加Log4net.config監視,并在修改Log4net.config的時候也及時的修改配置

      log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "Log4net.config"));

      第二步:Log4net.config的配置,注釋已經加上: 

      <?xml version="1.0" encoding="utf-8" ?>
      <configuration>
      <configSections>

      <section name="log4net"
                  type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=Neutral, PublicKeyToken=bf100aa01a5c2784" />
      </configSections>
       
      <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
      </appSettings>
        <!--每個<appender>子節點代表一種記錄日志的方式-->
      <log4net>
        <!-- 這個日志是系統其他地方寫日志時候用到的設置 -->
        <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="./Logs\Log_" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyyMMdd'.txt'" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="------------------------------------------------------------&#xD;&#xA;" />
            <ConversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline%newline%newline" />
          </layout>
        </appender>
        <root>
          <level value="All" />
          <appender-ref ref="RollingLogFileAppender" />
        </root>

      <!-- IBatisLogFile的日志 -->

        <appender name="IBatisLogFile" type="log4net.Appender.RollingFileAppender">
          <file value="./Logs\iBatis_" />
          <appendToFile value="true" />
          <datePattern value="yyyyMMdd'.txt'" />
          <rollingStyle value="Date" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <header value="[Header]&#13;&#10;" />
            <footer value="[Footer]&#13;&#10;" />
            <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
          </layout>
        </appender>

      <!-- IBatisMapperLogFile的日志 -->

        <appender name="IBatisMapperLogFile" type="log4net.Appender.RollingFileAppender">
          <file value="./Logs\iBatisMapper_" />
          <appendToFile value="true" />
          <datePattern value="yyyyMMdd'.txt'" />
          <rollingStyle value="Date" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
          </layout>
        </appender>

      <!-- IBatisCacheLogFile的日志 -->

        <appender name="IBatisCacheLogFile" type="log4net.Appender.RollingFileAppender">
          <file value="./Logs\iBatisChache_.log" />
          <appendToFile value="true" />
          <datePattern value="yyyy-MM-dd" />
          <rollingStyle value="Date" />
          <staticLogFileName value="false" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date{dd/MM/yyyy-HH:mm:ss} %m%newline%exception" />
          </layout>
        </appender>
       

      <!-- 注意一定要加additivity="false",因為異常日志是往上傳遞的,如果不加這個屬性,在系統的總日志里面也會有IBatisNet的日志,這樣就重復記錄了 -->
        <logger name="IBatisNet" additivity="false">
          <level value="ALL"/>

      <!--如果想增加日志輸出目的地,增加<appender-ref>節點就是了,注意后面的ref是在config中配置的appender name-->
          <appender-ref ref="IBatisLogFile" />
        </logger>

      <!-- 注意一定要加additivity="false",因為異常日志是往上傳遞的,如果不加這個屬性,在系統的總日志里面,以及IBatisNet里的日志里,也會有IBatisNet.DataMapper的日志,這樣就重復記錄了 -->

        <logger name="IBatisNet.DataMapper" additivity="false">
          <level value="ALL"/>   
          <appender-ref ref="IBatisMapperLogFile" />
        </logger>
      </log4net>
      </configuration>

      最后解釋一下logger的name,這個name是代表的代碼里的命名空間,也就是我們在代碼里這么寫的時候,ILog log=log4net.LogManager.GetLogger(typeof(Program)); 這個GetLogger(typeof(Program))也是獲取命名空間的,這個獲取的值和配置文件的name的值一樣的時候,就根據appender-ref寫到不同的介質去了。

      另外logger的name是有繼承關系的,比如

      //a是代表命名空間,表示該命名空間下的日志由此logger負責

      name=a

      //a.b代表命名空間下某個類,表示該命名空間下的日志由此logger負責

      name=a.b

      那么a.b就會繼承a,如果在a.b上不設置additivity="false",那么a.b的日志也會寫到a里面去

      第三步:在Web.Config里配置,iBATIS.NET通過IBatisNet.Common.Logging寫的日志

      <configSections>
          <sectionGroup name="iBATIS">
            <section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common"/>
          </sectionGroup>
       </configSections>
       
        <iBATIS>
          <logging>
            <logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
              <!--
              inline :log4net 節點在App.Config/Web.Config 文件中配置
              file:使用外置配置文件 (需要configFile參數配合使用,<arg key="configFile" value="外部配置文件")
              file-watch: 與"file"一樣,只是多了一個監視外部配置文件的變動功能,如果有變動則重新加載配置。
              external:IBatis將不會嘗試配置Log4Net。
              -->
              <arg key="configType" value="external"/>
            </logFactoryAdapter>
          </logging>
        </iBATIS>

      運行站點,發現站點根目錄下已經有了logs這個文件夾,并開始寫日志了

      demo下載

      posted @ 2012-10-24 16:11  趙學智  閱讀(4133)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 欧洲亚洲色一区二区色99| 92成人午夜福利一区二区| 一本加勒比hezyo无码人妻| 又黄又爽又色的免费网站| 亚洲天堂成人一区二区三区| 日本高清一区免费中文视频| 五十路久久精品中文字幕| 无遮无挡爽爽免费视频| 成人av亚洲男人色丁香| 无码AV无码免费一区二区| 一本一道av无码中文字幕麻豆| 国产乱码精品一区二区上| 精品黄色av一区二区三区| 50路熟女| 国产福利微视频一区二区| 亚洲精品熟女一区二区| 亚洲成人av免费一区| 国产短视频精品一区二区| 亚洲色一区二区三区四区| 在线精品国产中文字幕| 东京热一精品无码av| 久久久久成人精品| 人妻精品久久无码专区涩涩| 国产日产欧产美韩系列麻豆| 狠狠躁夜夜躁人人爽天天| 日本无产久久99精品久久| 亚洲男女羞羞无遮挡久久丫| 国产精品久久久久av福利动漫 | 午夜AAAAA级岛国福利在线| 国产女人18毛片水真多1| 成人午夜av在线播放| 欧美牲交40_50a欧美牲交aⅴ| 无码av天天av天天爽| 女子spa高潮呻吟抽搐| 中文字幕日韩精品国产| 免费无码高H视频在线观看| 97一区二区国产好的精华液| 国产av黄色一区二区三区| 久久精品亚洲日本波多野结衣 | 国产成人精品无码免费看夜聊软件| 国产AV永久无码青青草原|