Common.Logging log4net Common.Logging.Log4Net 配置

本文介绍如何在.NET项目中使用Common.Logging结合log4net进行日志记录。包括配置步骤、依赖项添加及示例代码,适用于希望灵活更换日志实现的开发者。

Common.Logging+(log4net/NLog/)

common logging是一个通用日志接口,log4net是一个强大的具体实现,也可以用其它不同的实现,如EntLib的日志、NLog等。

Common.Logging可以通过修改配置,更换不同的日志实现类,而不需要修改任何代码。

 

.net 项目使用CommonLogging:

1、添加必要的程序集:Common.Logging.dll、Common.Logging.Core.dll、Common.Logging.log4net1215.dll、log4net.dll

其中需要特别注意Common.Logging.log4net1215.dll、log4net.dll的版本必须匹配,建议使用VS的NuGet添加引用,添加时有详细的说明。

2、写配置文件

在app.config的配置文件修改:在configSections中添加

<configSections>
    <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging"/>
    </sectionGroup>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

在根目录添加:即在configuration添加如下信息:

<common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter,Common.Logging.Log4Net1215">
        
        <arg key="configType" value="FILE-WATCH" />
        <arg key="configFile" value="log4net.config" />
      </factoryAdapter>
    </logging>
  </common>

添加log4net.config文件,内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <root>
    <level value="ALL"/>
    <appender-ref ref="RollingFileAppender" />
  </root>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" />
    </layout>
  </appender>

  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <param name="LockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
    <param name="File" value="..\\Log\\" />
    <param name="StaticLogFileName" value="false" />
    <param name="DatePattern" value="yyyy-MM-dd.'log'"/>
    <param name="AppendToFile" value="true" />
    <param name="MaxSizeRollBackups" value="10" />
    <param name="MaximumFileSize" value="5MB" />
    <param name="RollingStyle" value="Date" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="时间:%date 线程名:[%thread] 消息等级:%-5level 日志器:%logger %ndc 类名:%C 方法名:%M 所在行:%line %n[message]%message %exception %newline" />

    </layout>
    <fileter type="log4net.Filter.LevelRangeFilter">
      <levelMin value="ERROR"/>
      <levelMax value="FATAL"/>
    </fileter>
  </appender>

</log4net>

在项目的AssemblyInfo.cs文件中添加:

[assembly: log4net.Config.XmlConfigurator(Watch = true)]

在使用的时候添加代码:

//添加引用:
using Common.Logging;

//代码
public static ILog logObj = Common.Logging.LogManager.GetLogger<PeiYangXiangFrm>();
logObj.Trace("This is a Trace Log!");

 

转载于:https://my.oschina.net/mzy666888/blog/1492014

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值