vb.net开发插件使用Log4Net记录日志

log4net是一款非常实用的开源日志记录组建

使用简例如下:

1、从官网上下载log4net.dll

2、在项目中添加对dll的引用

3、添加配置文件,新建.config文件,文件内容如下

<?xml version="1.0" encoding="utf-8"?>
<configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
      </configSections>
  <log4net>


    <root>
      <level value="ALL" />
      <appender-ref ref="LogFileAppender" />
      <appender-ref ref="ConsoleAppender" />
    </root>


    <logger name="testApp.Logging">
      <level value="DEBUG"/>
    </logger>


    <appender name="LogFileAppender" type="qutke_word.MyRollingFileAppender" >
      <!--<param name="File" value="log-file.txt" />-->
      <file value="log-file.txt" />
      <param name="AppendToFile" value="true" />
      <RollingStyle value="Size" />
      <maximumFileSize value="10KB"/>
      <param name="MaxSizeRollBackups" value="1" />


      <layout type="log4net.Layout.PatternLayout">
        <param name="Header" value="[Header] "/>
        <param name="Footer" value="[Footer] "/>
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x]  - %m%n" />
      </layout>


      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>


    <appender name="ConsoleAppender"  type="log4net.Appender.ConsoleAppender" >
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern"  value="%d [%t] %-5p %c [%x] - %m%n" />
      </layout>
    </appender>






  </log4net>
  
      <connectionStrings/>
      <system.diagnostics>
        <sources>
            <!-- 本节定义 My.Application.Log 的登录配置-->
            <source name="DefaultSource" switchName="DefaultSwitch">
                <listeners>
                    <add name="FileLog"/>
                    <!-- 取消注释以下一节可写入应用程序事件日志-->
                    <!--<add name="EventLog"/>-->
                </listeners>
            </source>
        </sources>
        <switches>
            <add name="DefaultSwitch" value="Information"/>
        </switches>
        <sharedListeners>
            <add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
            <!-- 取消注释以下一节并用应用程序名替换 APPLICATION_NAME 可写入应用程序事件日志-->
            <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
        </sharedListeners>
    </system.diagnostics>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

4、程序启动时读取配置文件,在thisaddin中添加<Assembly: log4net.Config.XmlConfigurator(Watch:=True)> 

5、在程序中使用,先获取一个日志记录器 Public log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)

6、catch捕获异常时记录 log.Error(DateTime.Now.ToString() + ex.Message + ex.StackTrace + ": false")

注:stacktrace  可以得到错误代码的行号及详细信息,配置文件的详细解析可以参考http://www.cnblogs.com/jiajinyi/p/5884930.html

http://blog.csdn.net/tyouvivi/article/details/1653346网址


设定相对路径,可以重写File()  方法   配置文件的type改为重写的那个类名

Public Class MyRollingFileAppender
    Inherits log4net.Appender.RollingFileAppender
    Public Overrides Property File As String
        Get
            Return MyBase.File
        End Get
        Set(value As String)
            MyBase.File = Path.Combine(setFilePath, value)
        End Set
    End Property
End Class


  <appender name="LogFileAppender" type="qda_vba.MyRollingFileAppender" >
      <!--<param name="File" value="log-file.txt" />-->
      <file value="log-file.txt" />


//System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) (安装路径)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值