夢(mèng)想號(hào)黃包車wei.lee net-home

          Have my best life at SZ....................

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            6 隨筆 :: 3 文章 :: 6 評(píng)論 :: 0 Trackbacks

          一般我們都會(huì)使用數(shù)據(jù)庫(kù)和文件作為log的輸出介質(zhì),下面是我在項(xiàng)目實(shí)踐中總結(jié)到的經(jīng)驗(yàn):
          1 .ADONetAppender
          ( 1 )、 MS SQL Server
          define the table such as:
          CREATE TABLE [dbo].[Log] (?
          ?[Id] [int] IDENTITY (1, 1) NOT NULL,
          ?[Date] [datetime] NOT NULL,
          ?????? [Thread] [varchar] (255) NOT NULL,
          ?????? [Level] [varchar] (50) NOT NULL,
          ?????? [Logger] [varchar] (255) NOT NULL,
          ?????? [Message] [varchar] (4000) NOT NULL,
          ?????? [Exception] [varchar] (2000) NULL
          )

          <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
          ?????? <bufferSize value="100" />
          ?????? <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
          ?????? <connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]" />
          ?????? <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
          ?????? <parameter>
          ????????????? <parameterName value="@log_date" />
          ????????????? <dbType value="DateTime" />
          ????????????? <layout type="log4net.Layout.RawTimeStampLayout" />
          ?????? </parameter>
          ?????? <parameter>
          ????????????? <parameterName value="@thread" />
          ????????????? <dbType value="String" />
          ????????????? <size value="255" />
          ????????????? <layout type="log4net.Layout.PatternLayout">
          ???????????????????? <conversionPattern value="%thread" />
          ????????????? </layout>
          ?????? </parameter>
          ?????? <parameter>
          ????????????? <parameterName value="@log_level" />
          ????????????? <dbType value="String" />
          ????????????? <size value="50" />
          ????????????? <layout type="log4net.Layout.PatternLayout">
          ???????????????????? <conversionPattern value="%level" />
          ????????????? </layout>
          ?????? </parameter>
          ?????? <parameter>
          ????????????? <parameterName value="@logger" />
          ????????????? <dbType value="String" />
          ????????????? <size value="255" />
          ????????????? <layout type="log4net.Layout.PatternLayout">
          ???????????????????? <conversionPattern value="%logger" />
          ????????????? </layout>
          ?????? </parameter>
          ?????? <parameter>
          ????????????? <parameterName value="@message" />
          ????????????? <dbType value="String" />
          ????????????? <size value="4000" />
          ????????????? <layout type="log4net.Layout.PatternLayout">
          ???????????????????? <conversionPattern value="%message" />
          ????????????? </layout>
          ?????? </parameter>
          ?????? <parameter>
          ????????????? <parameterName value="@exception" />
          ????????????? <dbType value="String" />
          ????????????? <size value="2000" />
          ????????????? <layout type="log4net.Layout.ExceptionLayout" />
          ?????? </parameter>
          </appender>
          ( 2 )、 MS Access? please reference the SDK of Log4net document???
          ( 3 )、 Oracle9i???????????????????????????????????? log4net/release/config-examples.html
          ( 4 )、 Oracle8i
          ( 5 )、 DB2

          2 、 FileAppender
          <appender name="FileAppender" type="log4net.Appender.FileAppender">
          ????? <file value="log-file.txt" />
          ???? <appendToFile value="true" />
          ???? <layout type="log4net.Layout.PatternLayout">
          ???? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          </layout>
          </appender>

          4.? RemotingAppender
          傳送日志事件到達(dá)一個(gè)特定的接受器,sink定義了這個(gè)接受器的地址,lossy定義了沒(méi)有丟棄事件,bufferSize 定義了一個(gè)black的由95個(gè)事件打包發(fā)送的,而onlyFixPartialEventData可以忽律一些特定的事件。
          <appender name="RemotingAppender" type="log4net.Appender.RemotingAppender" >
          ?????? <sink value="tcp://localhost:8085/LoggingSink" />
          ?????? <lossy value="false" />
          ?????? <bufferSize value="95" />
          ????? <onlyFixPartialEventData value="true" />
          </appender>

          5.? RollingFileAppender
          由于定義了staticLogFileName 為true,以我的理解就是定位保存的log文件個(gè)數(shù)為10個(gè)(maxSizeRollBackups),同時(shí)設(shè)定了每個(gè)文件的大小為100KB,所以一直都保持有10個(gè)文件。RollingStyle設(shè)定rolling的觸發(fā)器。
          Eg1:
          <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          ???? <file value="log.txt" />
          ??? <appendToFile value="true" />
          ??? <rollingStyle value="Size" />
          ?? <maxSizeRollBackups value="10" />
          ?? <maximumFileSize value="100KB" />
          ?? <staticLogFileName value="true" />
          ?? <layout type="log4net.Layout.PatternLayout">
          ?? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout>
          </appender>

          ? eg2:?
          <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          ?????? <file value="logfile" />
          ?????? <appendToFile value="true" />
          ?????? <rollingStyle value="Date" />
          ?????? <datePattern value="yyyyMMdd-HHmm" />
          ?????? <layout type="log4net.Layout.PatternLayout">
          ????????????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          ?????? </layout>
          </appender>

          eg3:

          <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          ?????? <file value="logfile" />
          ?????? <appendToFile value="true" />
          ?????? <rollingStyle value="Composite" />
          ?????? <datePattern value="yyyyMMdd" />
          ?????? <maxSizeRollBackups value="10" />
          ?????? <maximumFileSize value="1MB" />
          ?????? <layout type="log4net.Layout.PatternLayout">
          ????????????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
          ????? </layout>
          </appender>

          6.? UdpAppender
          可以發(fā)送到遠(yuǎn)程地址的特定端口
          <appender name="UdpAppender" type="log4net.Appender.UdpAppender">
          ?????? <localPort value="8080" />
          ?????? <remoteAddress value="224.0.0.1" />
          ?????? <remotePort value="8080" />
          ?????? <layout type="log4net.Layout.PatternLayout, log4net">
          ????????????? <conversionPattern value="%-5level %logger [%property{NDC}] - %message%newline" />
          ?????? </layout>
          </appender>?
          log4net?的學(xué)習(xí)暫時(shí)告一段落了,希望能夠進(jìn)一步對(duì)log4j學(xué)習(xí),現(xiàn)在我越來(lái)越喜歡.net的東西了,再也不會(huì)感覺(jué)到很別扭!希望自己可以很快地強(qiáng)大起來(lái)!!!?

          posted on 2006-03-29 18:22 Wei.Lee 閱讀(1288) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 武穴市| 樟树市| 安陆市| 乌恰县| 永顺县| 扎鲁特旗| 甘泉县| 乐昌市| 阳高县| 大英县| 嘉峪关市| 海门市| 神池县| 义马市| 平邑县| 庆云县| 磐石市| 集安市| 皋兰县| 长宁县| 中方县| 常宁市| 通河县| 墨竹工卡县| 东至县| 奎屯市| 隆昌县| 清水河县| 汉中市| 湖州市| 彭山县| 米脂县| 海伦市| 玉环县| 临高县| 丹棱县| 犍为县| 剑阁县| 炎陵县| 宜章县| 镇康县|