Loading

VB.NET使用Log4Net

1.提前使用NuGet程序包导入Log4Net.dll

2.在AssemblyInfo.vb文件中,写入如下配置(注意如果是放到文件夹内,需要加入文件路径地址)。

如果无法打印信息,看log4net.config文件是否在Debug文件夹内

<Assembly: log4net.Config.XmlConfiguratorAttribute(ConfigFile:="log4net.config", Watch:=True)> 

3.配置log4net.config文件

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3     <configSections>
 4         <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
 5     </configSections>
 6     <!--log4net配置文件-->
 7     <log4net>
 8         <root>
 9             <level value="ALL"/>
10             <appender-ref ref="InfoAppender"/>
11             <appender-ref ref="ErrorAppender"/>
12             <!--<appender-ref ref="ConsoleAppender"/>-->
13         </root>
14         <!--运行状态信息-->
15         <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
16             <!--日志路径-->
17             <File value="log/log_info.txt"/>
18             <!--是否是向文件中追加日志-->
19             <AppendToFile value="true"/>
20             <!--创建新文件的方式-->
21             <RollingStyle value="Size"/>
22             <!--log文件大小-->
23             <MaximumFileSize value="5M"/>
24             <!--备份日志数目-->
25             <MaxSizeRollBackups value="30"/>
26             <!--日志文件名是否是固定不变的-->
27             <StaticLogFileName value="true"/>
28             <lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />
29             <!--输出格式-->
30             <layout type="log4net.Layout.PatternLayout">
31                 <!--日期 [级别]-->
32                 <conversionPattern value="%d [%-5p] [%t%] -%m%n"/>
33             </layout>
34             <!--控制器,只记录级别在INFO-INFO之间的信息-->
35             <filter type="log4net.Filter.LevelRangeFilter">
36                 <levelMin value="INFO" />
37                 <levelMax value="INFO" />
38             </filter>
39         </appender>
40         <!--运行错误信息-->
41         <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
42             <!--日志路径-->
43             <File value="log/log_error.txt"/>
44             <!--是否是向文件中追加日志-->
45             <AppendToFile value="true"/>
46             <!--创建新文件的方式-->
47             <RollingStyle value="Size"/>
48             <!--log文件大小-->
49             <MaximumFileSize value="5M"/>
50             <!--备份日志数目-->
51             <MaxSizeRollBackups value="30"/>
52             <!--日志文件名是否是固定不变的-->
53             <StaticLogFileName value="true"/>
54             <lockingModel type="log4net.Appender.RollingFileAppender+MinimalLock" />
55             <!--输出格式-->
56             <layout type="log4net.Layout.PatternLayout">
57                 <!--输出格式-->
58                 <conversionPattern value="%d [%-5p] [%t%] -%m%n"/>
59             </layout>
60             <!--控制器,只记录级别在WARN-FATAL之间的信息-->
61             <filter type="log4net.Filter.LevelRangeFilter">
62                 <levelMin value="WARN" />
63                 <levelMax value="FATAL" />
64             </filter>
65         </appender>
66     </log4net>
67 </configuration>

3.配置LogHelper.vb

 1 Public Class LogHelper
 2 
 3     Shared log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
 4 
 5     ''' <summary>
 6     ''' 程序运行的过程中的,一般信息可以调用此方法记录日记
 7     ''' </summary>
 8     ''' <param name="info"></param>
 9     Public Shared Sub Info(info As String)
10         If log.IsInfoEnabled = True Then
11             log.Info(info)
12         End If
13     End Sub
14     ''' <summary>
15     ''' 程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后) 
16     ''' </summary>
17     ''' <param name="info"></param>
18     Public Shared Sub Errors(info As String)
19         If log.IsErrorEnabled = True Then
20             log.Info(info)
21         End If
22     End Sub
23     ''' <summary>
24     ''' 程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后) 
25     ''' </summary>
26     ''' <param name="info"></param>
27     ''' <param name="ex"></param>
28     Public Shared Sub Errors(info As String, ex As Exception)
29         If log.IsErrorEnabled = True Then
30             log.Info(info, ex)
31         End If
32     End Sub
33     ''' <summary>
34     ''' 程序出现错误的时候调用此方法记录日记(一般用在出现了异常以后) 
35     ''' </summary>
36     ''' <param name="ex"></param>
37     Public Shared Sub Errors(ex As Exception)
38         If log.IsErrorEnabled = True Then
39             log.Info(ex)
40         End If
41     End Sub
42 End Class

4.调用方法:

LogHelper.Errors("异常",ex)

  

posted @ 2020-09-30 10:29  云辰  阅读(1112)  评论(0编辑  收藏  举报