程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Log4net入門(回滾日志文件篇),log4net日志文件

Log4net入門(回滾日志文件篇),log4net日志文件

編輯:關於.NET

Log4net入門(回滾日志文件篇),log4net日志文件


  在上一篇Log4net(日志文件篇)中,我們使用“log4net.Appender.FileAppender”將日志信息輸出到一個單一的文件中,隨著應用程序的持續使用,該日志文件會越來越龐大,進而影響系統的性能。因此,有必要對日志文件按某種條件進行切分,要切分日志文件,我們可以使用“log4net.Appender.RollingFileAppender”輸出源,使用該輸出源我們可以按照文件大小或者日期對日志文件進行切分,下面我們分別描述之。

一、按文件大小切分日志文件

  想要按文件大小切分日志文件只需要在Log4net.config配置文件中添加一個appender節點,然後在root節點中添加一個對新添加的appender節點的引用即可。Log4net.config的配置信息如下所示:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <configSections>
 4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 5   </configSections>
 6 
 7   <log4net>
 8     <!-- 將日志輸出到控制台 -->
 9     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
10       <layout type="log4net.Layout.PatternLayout">
11         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
12       </layout>
13     </appender>
14 
15     <!-- 將日志寫到文件中 -->
16     <appender name="FileAppender" type="log4net.Appender.FileAppender">
17       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
18       <file value="Logs/FileAppender.log" />
19       <!-- 將日志信息追加到已有的日志文件中-->
20       <appendToFile value="true" />
21       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
22       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
23 
24       <layout type="log4net.Layout.PatternLayout">
25         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
26       </layout>
27     </appender>
28 
29     <!-- 將日志以回滾文件的形式寫到文件中 -->
30     <!-- 按文件大小切分日志文件 -->
31     <appender name="RollingFileAppenderBySize" type="log4net.Appender.RollingFileAppender">
32       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
33       <file value="Logs/RollingFileAppenderBySize.log" />
34       <!-- 將日志信息追加到已有的日志文件中-->
35       <appendToFile value="true" />
36       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
37       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
38       <!-- 指定按文件大小切分日志文件 -->
39       <rollingStyle value="Size" />
40       <!-- 指定備份日志文件的最大切分數量,如果超過指定切分文件個數,日志將進行覆寫 -->
41       <maxSizeRollBackups value="5" />
42       <!-- 指定每個切分日志文件的大小 -->
43       <maximumFileSize value="1KB" />
44       <!-- 指定每個切分文件具有相同的名字 -->
45       <!-- 日志文件進行切分後,每個日志文件的名字分別為:RollingFileAppenderBySize.log, RollingFileAppenderBySize.log.1, ..., RollingFileAppenderBySize.log.5 -->
46       <staticLogFileName value="true" />
47 
48       <layout type="log4net.Layout.PatternLayout">
49         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
50       </layout>
51     </appender>
52 
53     <root>
54       <!-- 控制級別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
55       <!-- 比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄 -->
56       <!-- 如果沒有定義LEVEL的值,則缺省為DEBUG -->
57       <level value="ALL" />
58       <!-- 將日志輸出到控制台 -->
59       <appender-ref ref="ConsoleAppender" />
60       <!-- 將日志寫到文件中 -->
61       <appender-ref ref="FileAppender" />
62       <!-- 按文件大小切分日志文件 -->
63       <appender-ref ref="RollingFileAppenderBySize" />
64     </root>
65   </log4net>
66 </configuration>

  將上述配置文件保存,然後多次運行程序,生成的日志文件如下所示:

   大家可能已經注意到了,一共有6個日志文件,其中有5個是備份文件,也就是說,如果我們設置“<maxSizeRollBackups value="5" />”,那麼意思是我們將備份文件的數量設置為5。

二、按日期切分日志文件

  想要按日期切分日志文件只需要在Log4net.config配置文件中添加一個appender節點,然後在root節點中添加一個對新添加的appender節點的引用即可。Log4net.config的配置信息如下所示:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <configSections>
 4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 5   </configSections>
 6 
 7   <log4net>
 8     <!-- 將日志輸出到控制台 -->
 9     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
10       <layout type="log4net.Layout.PatternLayout">
11         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
12       </layout>
13     </appender>
14 
15     <!-- 將日志寫到文件中 -->
16     <appender name="FileAppender" type="log4net.Appender.FileAppender">
17       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
18       <file value="Logs/FileAppender.log" />
19       <!-- 將日志信息追加到已有的日志文件中-->
20       <appendToFile value="true" />
21       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
22       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
23 
24       <layout type="log4net.Layout.PatternLayout">
25         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
26       </layout>
27     </appender>
28 
29     <!-- 將日志以回滾文件的形式寫到文件中 -->
30     <!-- 按文件大小切分日志文件 -->
31     <appender name="RollingFileAppenderBySize" type="log4net.Appender.RollingFileAppender">
32       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
33       <file value="Logs/RollingFileAppenderBySize.log" />
34       <!-- 將日志信息追加到已有的日志文件中-->
35       <appendToFile value="true" />
36       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
37       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
38       <!-- 指定按文件大小切分日志文件 -->
39       <rollingStyle value="Size" />
40       <!-- 指定備份日志文件的最大切分數量,如果超過指定切分文件個數,日志將進行覆寫 -->
41       <maxSizeRollBackups value="5" />
42       <!-- 指定每個切分日志文件的大小 -->
43       <maximumFileSize value="1KB" />
44       <!-- 指定每個切分文件具有相同的名字 -->
45       <!-- 日志文件進行切分後,每個日志文件的名字分別為:RollingFileAppenderBySize.log, RollingFileAppenderBySize.log.1, ..., RollingFileAppenderBySize.log.5 -->
46       <staticLogFileName value="true" />
47 
48       <layout type="log4net.Layout.PatternLayout">
49         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
50       </layout>
51     </appender>
52 
53     <!-- 按日期切分日志文件 -->
54     <appender name="RollingFileAppenderByDate" type="log4net.Appender.RollingFileAppender">
55       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
56       <file value="Logs/RollingFileAppenderByDate.log" />
57       <!-- 將日志信息追加到已有的日志文件中-->
58       <appendToFile value="true" />
59       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
60       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
61       <!-- 指定按日期切分日志文件 -->
62       <rollingStyle value="Date" />
63       <!-- 每分鐘切分一個日志文件 -->
64       <!-- 每天切分一個日志文件的寫法為:"yyyyMMdd" -->
65       <datePattern value="yyyyMMdd-HHmm" />
66       <!-- 指定每個切分文件具有相同的名字 -->
67       <staticLogFileName value="true" />
68 
69       <layout type="log4net.Layout.PatternLayout">
70         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
71       </layout>
72     </appender>
73 
74     <root>
75       <!-- 控制級別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
76       <!-- 比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄 -->
77       <!-- 如果沒有定義LEVEL的值,則缺省為DEBUG -->
78       <level value="ALL" />
79       <!-- 將日志輸出到控制台 -->
80       <appender-ref ref="ConsoleAppender" />
81       <!-- 將日志寫到文件中 -->
82       <appender-ref ref="FileAppender" />
83       <!-- 按文件大小切分日志文件 -->
84       <appender-ref ref="RollingFileAppenderBySize" />
85       <!-- 按日期切分日志文件 -->
86       <appender-ref ref="RollingFileAppenderByDate" />
87     </root>
88   </log4net>
89 </configuration>

  每隔一分鐘運行一次應用程序,生成的日志文件如下所示:

 三、按日期切分日志文件,並以日期作為日志文件名

  如果我們想以日期切分日志文件,並且以日期作為日志文件名,我們可以在Log4net.config配置文件中添加一個appender節點,然後在root節點中添加一個對新添加的appender節點的引用即可。Log4net.config的配置信息如下所示:

  1 <?xml version="1.0" encoding="utf-8" ?>
  2 <configuration>
  3   <configSections>
  4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  5   </configSections>
  6 
  7   <log4net>
  8     <!-- 將日志輸出到控制台 -->
  9     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
 10       <layout type="log4net.Layout.PatternLayout">
 11         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 12       </layout>
 13     </appender>
 14 
 15     <!-- 將日志寫到文件中 -->
 16     <appender name="FileAppender" type="log4net.Appender.FileAppender">
 17       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
 18       <file value="Logs/FileAppender.log" />
 19       <!-- 將日志信息追加到已有的日志文件中-->
 20       <appendToFile value="true" />
 21       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 22       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 23 
 24       <layout type="log4net.Layout.PatternLayout">
 25         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 26       </layout>
 27     </appender>
 28 
 29     <!-- 將日志以回滾文件的形式寫到文件中 -->
 30     <!-- 按文件大小切分日志文件 -->
 31     <appender name="RollingFileAppenderBySize" type="log4net.Appender.RollingFileAppender">
 32       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑-->
 33       <file value="Logs/RollingFileAppenderBySize.log" />
 34       <!-- 將日志信息追加到已有的日志文件中-->
 35       <appendToFile value="true" />
 36       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 37       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 38       <!-- 指定按文件大小切分日志文件 -->
 39       <rollingStyle value="Size" />
 40       <!-- 指定備份日志文件的最大切分數量,如果超過指定切分文件個數,日志將進行覆寫 -->
 41       <maxSizeRollBackups value="5" />
 42       <!-- 指定每個切分日志文件的大小 -->
 43       <maximumFileSize value="1KB" />
 44       <!-- 指定每個切分文件具有相同的名字 -->
 45       <!-- 日志文件進行切分後,每個日志文件的名字分別為:RollingFileAppenderBySize.log, RollingFileAppenderBySize.log.1, ..., RollingFileAppenderBySize.log.5 -->
 46       <staticLogFileName value="true" />
 47 
 48 
 49       <layout type="log4net.Layout.PatternLayout">
 50         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 51       </layout>
 52     </appender>
 53 
 54     <!-- 按日期切分日志文件 -->
 55     <appender name="RollingFileAppenderByDate" type="log4net.Appender.RollingFileAppender">
 56       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 57       <file value="Logs/RollingFileAppenderByDate.log" />
 58       <!-- 將日志信息追加到已有的日志文件中-->
 59       <appendToFile value="true" />
 60       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 61       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 62       <!-- 指定按日期切分日志文件 -->
 63       <rollingStyle value="Date" />
 64       <!-- 每分鐘切分一個日志文件 -->
 65       <!-- 每天切分一個日志文件的寫法為:"yyyyMMdd" -->
 66       <datePattern value="yyyyMMdd-HHmm" />
 67       <!-- 指定每個切分文件具有相同的名字 -->
 68       <staticLogFileName value="true" />
 69 
 70       <layout type="log4net.Layout.PatternLayout">
 71         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 72       </layout>
 73     </appender>
 74 
 75     <!-- 按日期切分日志文件,並將日期作為日志文件的名字 -->
 76     <appender name="RollingFileAppenderNameByDate" type="log4net.Appender.RollingFileAppender">
 77       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 78       <file value="Logs/" />
 79       <!-- 將日志信息追加到已有的日志文件中-->
 80       <appendToFile value="true" />
 81       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 82       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 83       <!-- 指定按日期切分日志文件 -->
 84       <rollingStyle value="Date" />
 85       <!-- 日志文件的命名規則 -->
 86       <datePattern value="&quot;Logs_&quot;yyyyMMdd-HHmm&quot;.log&quot;" />
 87       <!-- 當將日期作為日志文件的名字時,必須將staticLogFileName的值設置為false -->
 88       <staticLogFileName value="false" />
 89 
 90       <layout type="log4net.Layout.PatternLayout">
 91         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 92       </layout>
 93     </appender>
 94 
 95     <root>
 96       <!-- 控制級別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
 97       <!-- 比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄 -->
 98       <!-- 如果沒有定義LEVEL的值,則缺省為DEBUG -->
 99       <level value="ALL" />
100       <!-- 將日志輸出到控制台 -->
101       <appender-ref ref="ConsoleAppender" />
102       <!-- 將日志寫到文件中 -->
103       <appender-ref ref="FileAppender" />
104       <!-- 按文件大小切分日志文件 -->
105       <appender-ref ref="RollingFileAppenderBySize" />
106       <!-- 按日期切分日志文件 -->
107       <appender-ref ref="RollingFileAppenderByDate" />
108       <!-- 按日期切分日志文件,並將日期作為日志文件的名字 -->
109       <appender-ref ref="RollingFileAppenderNameByDate" />
110     </root>
111   </log4net>
112 </configuration>

   多次運行應用程序,生成的日志如下所示:

四、既按大小又按日期切分日志文件

  如果想既按大小又按日期切分日志文件,只需要將“rollingStyle”的值設置為“Composite”即可,具體配置文件如下所示:

  1 <?xml version="1.0" encoding="utf-8" ?>
  2 <configuration>
  3   <configSections>
  4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  5   </configSections>
  6 
  7   <log4net>
  8     <!-- 將日志輸出到控制台 -->
  9     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
 10       <layout type="log4net.Layout.PatternLayout">
 11         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 12       </layout>
 13     </appender>
 14 
 15     <!-- 將日志寫到文件中 -->
 16     <appender name="FileAppender" type="log4net.Appender.FileAppender">
 17       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 18       <file value="Logs/FileAppender.log" />
 19       <!-- 將日志信息追加到已有的日志文件中-->
 20       <appendToFile value="true" />
 21       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 22       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 23 
 24       <layout type="log4net.Layout.PatternLayout">
 25         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 26       </layout>
 27     </appender>
 28 
 29     <!-- 將日志以回滾文件的形式寫到文件中 -->
 30     <!-- 按文件大小切分日志文件 -->
 31     <appender name="RollingFileAppenderBySize" type="log4net.Appender.RollingFileAppender">
 32       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 33       <file value="Logs/RollingFileAppenderBySize.log" />
 34       <!-- 將日志信息追加到已有的日志文件中-->
 35       <appendToFile value="true" />
 36       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 37       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 38       <!-- 指定按文件大小切分日志文件 -->
 39       <rollingStyle value="Size" />
 40       <!-- 指定備份日志文件的最大切分數量,如果超過指定切分文件個數,日志將進行覆寫 -->
 41       <maxSizeRollBackups value="5" />
 42       <!-- 指定每個切分日志文件的大小 -->
 43       <maximumFileSize value="1KB" />
 44       <!-- 指定每個切分文件具有相同的名字 -->
 45       <!-- 日志文件進行切分後,每個日志文件的名字分別為:RollingFileAppenderBySize.log, RollingFileAppenderBySize.log.1, ..., RollingFileAppenderBySize.log.5 -->
 46       <staticLogFileName value="true" />
 47 
 48       <layout type="log4net.Layout.PatternLayout">
 49         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 50       </layout>
 51     </appender>
 52 
 53     <!-- 按日期切分日志文件 -->
 54     <appender name="RollingFileAppenderByDate" type="log4net.Appender.RollingFileAppender">
 55       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 56       <file value="Logs/RollingFileAppenderByDate.log" />
 57       <!-- 將日志信息追加到已有的日志文件中-->
 58       <appendToFile value="true" />
 59       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 60       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 61       <!-- 指定按日期切分日志文件 -->
 62       <rollingStyle value="Date" />
 63       <!-- 每分鐘切分一個日志文件 -->
 64       <!-- 每天切分一個日志文件的寫法為:"yyyyMMdd" -->
 65       <datePattern value="yyyyMMdd-HHmm" />
 66       <!-- 指定每個切分文件具有相同的名字 -->
 67       <staticLogFileName value="true" />
 68 
 69       <layout type="log4net.Layout.PatternLayout">
 70         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 71       </layout>
 72     </appender>
 73 
 74     <!-- 按日期切分日志文件,並將日期作為日志文件的名字 -->
 75     <appender name="RollingFileAppenderNameByDate" type="log4net.Appender.RollingFileAppender">
 76       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 77       <file value="Logs/" />
 78       <!-- 將日志信息追加到已有的日志文件中-->
 79       <appendToFile value="true" />
 80       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
 81       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
 82       <!-- 指定按日期切分日志文件 -->
 83       <rollingStyle value="Date" />
 84       <!-- 日志文件的命名規則 -->
 85       <datePattern value="&quot;Logs_&quot;yyyyMMdd-HHmm&quot;.log&quot;" />
 86       <!-- 當將日期作為日志文件的名字時,必須將staticLogFileName的值設置為false -->
 87       <staticLogFileName value="false" />
 88 
 89       <layout type="log4net.Layout.PatternLayout">
 90         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
 91       </layout>
 92     </appender>
 93 
 94     <!-- 既按大小又按日期切分日志文件 -->
 95     <appender name="RollingFileAppenderBySizeAndDate" type="log4net.Appender.RollingFileAppender">
 96       <!-- 日志文件存放位置,可以為絕對路徑也可以為相對路徑 -->
 97       <file value="Logs/RollingFileAppenderBySizeAndDate.log" />
 98       <!-- 將日志信息追加到已有的日志文件中-->
 99       <appendToFile value="true" />
100       <!-- 最小鎖定模式,以允許多個進程可以寫入同一個文件 -->
101       <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
102       <!-- 指定既按大小又按日期切分日志文件 -->
103       <rollingStyle value="Composite" />
104       <!-- 指定備份日志文件的最大切分數量,如果超過指定切分文件個數,日志將進行覆寫 -->
105       <maxSizeRollBackups value="5" />
106       <!-- 指定每個切分日志文件的大小 -->
107       <maximumFileSize value="1KB" />
108       <!-- 每分鐘切分一個日志文件 -->
109       <!-- 每天切分一個日志文件的寫法為:"yyyyMMdd" -->
110       <datePattern value="yyyyMMdd-HHmm" />
111       <!-- 指定每個切分文件具有相同的名字 -->
112       <staticLogFileName value="true" />
113 
114       <layout type="log4net.Layout.PatternLayout">
115         <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
116       </layout>
117     </appender>
118 
119     <root>
120       <!-- 控制級別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF -->
121       <!-- 比如定義級別為INFO,則INFO級別向下的級別,比如DEBUG日志將不會被記錄 -->
122       <!-- 如果沒有定義LEVEL的值,則缺省為DEBUG -->
123       <level value="ALL" />
124       <!-- 將日志輸出到控制台 -->
125       <appender-ref ref="ConsoleAppender" />
126       <!-- 將日志寫到文件中 -->
127       <appender-ref ref="FileAppender" />
128       <!-- 按文件大小切分日志文件 -->
129       <appender-ref ref="RollingFileAppenderBySize" />
130       <!-- 按日期切分日志文件 -->
131       <appender-ref ref="RollingFileAppenderByDate" />
132       <!-- 按日期切分日志文件,並將日期作為日志文件的名字 -->
133       <appender-ref ref="RollingFileAppenderNameByDate" />
134       <!-- 既按大小又按日期切分日志文件 -->
135       <appender-ref ref="RollingFileAppenderBySizeAndDate" />
136     </root>
137   </log4net>
138 </configuration>

  多次運行應用程序,生成的日志文件如下所示:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved