C#log4net配置

摘要:
该项目使用log4net,配置过程相对简单。如果您想实现各种需求,可以深入研究配置文件。

项目使用log4net,配置过程比较简单,想要实现各种需求,可以深入研究一下配置文件。

1、引用log4net.dll

2、使用命名空间 using log4net;

3、定义logger

public static log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

4、定义配置文件,log4net.dll(或直接使用App.config)

5、调用配置文件

在Properties下面的AssemblyInfo中添加

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

或在Program.cs的Main方法中添加

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo("log4net.config"));     

附使用的配置文件内容:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>  
  <log4net>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
      <param name= "File" value= "logs"/>
      <param name= "AppendToFile" value= "true"/>
      <param name= "MaxSizeRollBackups" value= "10"/>
      <param name= "StaticLogFileName" value= "false"/>
      <param name= "DatePattern" value= "yyyy-MM-dd&quot;.log&quot;"/>
      <param name= "RollingStyle" value= "Date"/>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Debug" />
        <param name="LevelMax" value="Fatal" />
      </filter>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="[%d] [%-5p] [%c] - %m%n" />
      </layout>
    </appender>
    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
      <mapping>
        <level value="Error" />
        <foreColor value="Red, HighIntensity" />
      </mapping>
      <mapping>
        <level value="Warn" />
        <foreColor value="Yellow" />
      </mapping>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="Warn" />
        <param name="LevelMax" value="Fatal" />
      </filter>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%n%date{HH:mm:ss,fff} [%-5level] %m" />
      </layout>     
    </appender>

    <root>
      <level value="all" />
      <appender-ref ref="ColoredConsoleAppender"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>
</configuration>

其中

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 

可以让多个exe共用一个log文件。

免责声明:文章转载自《C#log4net配置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇allure安装与环境变量配置sqlserver取绝对值的abs()函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

log4net写入到SQL server的基本配置(downmoon)

log4net是一个开源的错误日志记录项目,易用性强,源自log4j,品质值得信赖。 下面汇报一下我的安装部署log4net到MS sql server的经验。 一、首先是下载log4net最新版 地址:http://logging.apache.org/log4net/ 直接引用dll也行,我是把下载的源码在Vs2005下编译成log4net.dll  ...

.Net WinForm下配置Log4Net(总结不输出原因)

最近做一个winform项目,配置了Log4net 但是总是不能输出,搜索了很多文章加上自己的探索发现自己在项目中添加的Log4Net.config 生成时没有被复制到Debug文件夹下, 所以程序在调用日志输出时找不到这个配置文件,所以没有输出(在网上搜了很多,也有很多说是路径问题造成不能输出) 解决办法:1.在项目工程中,选中Log4Net.confi...

C# 开源日志框架配置

一、NLog 注: NLog可以将日志记录在 数据库,文件,控制台, 以下只记录文件日志配置 1.WebAPI分Controller层级打印日志配置 <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="http://www.w3.org/2001/XMLSchem...

C# 简单日志文本输出

第一种 直接文件IO流写日志文件 usingSystem.IO; public static void WriteLog(stringstrLog) { string sFilePath="d:\"+DateTime.Now.ToString("yyyyMM"); string sFileName = "rizhi" + DateTime.Now....

C# 使用SuperSocket

一、需求场景 (1)使用SuperSocket进行网络通信 二、所需软件 (1)SocketTool 三、实现步骤 (1)使用Nuget管理器安装SuperSocket.Engine 该插件已经包含(SuperSocket插件) 注意:SuperSocket里面集成了log4net(如果你的程序中已经引入了log4net,一定要注意版本是否一致,如果不一...

【改进】用Log4net建立日志记录

上一篇随笔中只使用了普通的文件读写来进行日志的写入,正如很多朋友说的,频繁的对文件进行读写会造成很多的问题,代码缺少边界控制和操作控制,没有对资源进行管理,是非常典型的bad code。 然后经过前辈们的提点,今天使用了Log4net进行日志的写入,发现非常的便捷,同时也集成了对于日志的控制,减少因为日志写入而发生的一系列不该有的错误。 网上也有很多教程,...