1.引入log4net.dll

2.创建log4net.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration><!--Log4Net--><!-- Level的级别,由高到低 --><!-- None > Fatal > ERROR > WARN > DEBUG > INFO > ALL--><!-- 解释:如果level是ERROR,则在cs文件里面调用log4net的info()方法,则不会写入到日志文件中--><log4net><appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><file type="log4net.Util.PatternString" value=".\log\log_%date{yyyMMdd}.log" /><appendToFile value="true" /><rollingStyle value="Composite" /><!--<datePattern value="yyyyMMddhhmmss'.log'"/>--><maxSizeRollBackups value="10" /><maximumFileSize value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /><param name="Header" value=" ----------------------header--------------------------
" /><param name="Footer" value=" ----------------------footer--------------------------
" /></layout></appender><appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><file type="log4net.Util.PatternString" value=".\log\error_%date{yyyMMdd}.log" /><appendToFile value="true" /><rollingStyle value="Composite" /><!--<datePattern value="yyyyMMddhhmmss'.log'"/>--><maxSizeRollBackups value="10" /><maximumFileSize value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /><param name="Header" value=" ----------------------header--------------------------
" /><param name="Footer" value=" ----------------------footer--------------------------
" /></layout></appender><appender name="WarnAppender" type="log4net.Appender.RollingFileAppender"><file type="log4net.Util.PatternString" value=".\log\warning_%date{yyyMMdd}.log" /><appendToFile value="true" /><rollingStyle value="Composite" /><!--<datePattern value="yyyyMMddhhmmss'.log'"/>--><maxSizeRollBackups value="10" /><maximumFileSize value="5MB" /><layout type="log4net.Layout.PatternLayout,log4net"><param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /><param name="Header" value=" ----------------------header--------------------------
" /><param name="Footer" value=" ----------------------footer--------------------------
" /></layout></appender><!--<root><level value="All" /><appender-ref ref="RollingLogFileAppender" /></root>--><logger name="Error"><level value="ERROR" /><appender-ref ref="ErrorAppender" /></logger><logger name="Info"><level value="INFO" /><appender-ref ref="RollingLogFileAppender" /></logger><logger name="Warning"><level value="INFO" /><appender-ref ref="WarnAppender" /></logger></log4net><!--log4net配置end--><!--private static ILog log = LogManager.GetLogger("Test");log.Error("错误", new Exception("发生了一个异常"));//错误log.Fatal("严重错误", new Exception("发生了一个致命错误"));//严重错误log.Info("信息"); //记录一般信息log.Debug("调试信息");//记录调试信息log.Warn("警告");//记录警告信息-->
</configuration>

3.AssemblyInfo.cs中添加如下

// 指定log4net 的配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

4.log4net.config 右键 - 属性 - 高级

复制到输出目录 - 如果较新则复制

5. private static ILog log = LogManager.GetLogger("");

6.新建LogHelper类

using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace AttachmentsExport
{public class LogHelper{/// <summary>/// 普通日志/// </summary>/// <param name="message">日志内容</param>public static void Info(string message){ILog log = LogManager.GetLogger("Info");if (log.IsInfoEnabled){log.Info(message);}}/// <summary>/// 错误日志带异常/// </summary>/// <param name="message">错误日志</param>public static void Error(string message, Exception ex){ILog log = LogManager.GetLogger("Error");if (log.IsErrorEnabled){log.Error(message, ex);}}/// <summary>/// 错误日志不带异常/// </summary>/// <param name="message">错误日志</param>public static void Error(string message){ILog log = LogManager.GetLogger("Error");if (log.IsErrorEnabled){log.Error(message);}}public static void Warning(string message){ILog log = LogManager.GetLogger("Warning");if (log.IsWarnEnabled){log.Warn(message);}}}
}

WinForm log4net使用相关推荐

  1. asp.net + winform + log4net 使用示例|using log4net with asp.net/winform

    log4net, 是 apache.org 在 log4j的基础上推出的针对.NET程序的开源的日志组件. log4net目前的最新版本是 1.2.10,log4net支持的日志保存方式,可谓丰富之极 ...

  2. Log4Net的控制台,WinForm,WebApplication使用

    一.Log4Net的控制台,WinForm,WebApplication使用 1.首先使用nuget 添加log4Net 到控制台项目中 log4j每个符号的具体含义:%d %5p %c{1}:%L ...

  3. 封装的可运行于winform与web的Log4Net的类库

    以前写项目,虽然日志是用log4net,但是每个新项目,基本上都是重新配置一下.还是比较麻烦,昨天晚上,把 log4net封装了一下,基本上只需要一句 log4netHelper.Init();即可, ...

  4. log4net在winform中release后不工作的原因

    在一个短信项目中,其中一个子系统用winform c++/cli开发,用到了log4net,但是出现了一个奇怪的现象,就是当在ide(vs2010)中调试时debug模式,或realease模式下,l ...

  5. log4net在WinForm和ASP.net下的设置

    下载log4net.dll,放到bin目录下,然后引用到工程.下面说明配置和调用方法. 1.AssemblyInfo.cs末尾添加 [assembly: log4net.Config.XmlConfi ...

  6. WinForm和WPF使用log4net

    一.从Nuget下载lognet.dll 找到log4net之后,单击log4net,右侧会出现你的项目,勾选要安装的项目,然后点击"安装". 二.打开app.config,进行如 ...

  7. C# log4net将日志写入sql server,winform项目

    一.背景 自己开发的小项目中,想要使用log4net来记录日志,项目使用的winform框架开发的,开发工具是visual studio 2017,数据库使用的是sql server 2008 R2, ...

  8. C# winform 配置log4net

    Winform配置了Log4net 但是总是不能输出,是log4net.config配置文件访问路径出错了. 就是程序在运行时候没把log4net.config 配置文件复制到Debug文件夹下,导致 ...

  9. 在C#代码中应用Log4Net(四)在Winform和Web中捕获全局异常

    毕竟人不是神,谁写的程序都会有bug,有了bug不可怕,可怕的是出错了,你却不知道错误在哪里.所以我们需要将应用程序中抛出的所有异常都记录起来,不然出了错,找问题就能要了你的命.下面我们主要讨论的是如 ...

最新文章

  1. Nginx的安装和多域名配置的实现方法
  2. Linux下安装Tomcat7
  3. 基于linux的nas系统下载,OpenMediaVault 5.3.9 发布,基于Debian Linux的NAS解决方案
  4. 剑指 offer set 28 实现 Singleton 模式
  5. Android Service 之 AIDL
  6. 理解线程的挂起,sleep还有阻塞
  7. 用到的python组件
  8. 力扣-116. 填充每个节点的下一个右侧节点指针
  9. Kotlin 的工作原理
  10. 前端后台的爱恨情仇——接口调试
  11. 忘了是出自雪中还是剑来或者就是癞蛤蟆?反正应该是烽火大太监的句子吧。还掺杂了许多别家的,记不清谁写的了,或许有西藏的佛陀
  12. 法线贴图的实现【OpenGL】
  13. MATLAB2018B下用Faster-RCNN做目标检测的训练和测试步骤
  14. 广域虚拟数据空间中边缘缓存系统的研究与实现
  15. 微信小程序密码输入框
  16. python中0x3f_单片机中0x3f代表什么意思
  17. Lichee(三) Android4.0的目标产品目录与Lichee的纽带---extract-bsp
  18. 苹果电脑如何开启桌面显示【硬盘】项目?
  19. LeetCode刷题(168)~矩阵中的幸运数
  20. 乐学python和扇贝编程_到底是扇贝编程还是风变编程?

热门文章

  1. 打开lol一直连接服务器失败怎么回事,lol连接服务器失败:无法连接服务器最新解决方法...
  2. 闲鱼项目是真的吗?新手实操赚钱攻略手册!
  3. vue父子组件通信,兄弟组件通信
  4. Mysql高级部分系列(二)
  5. 探索云原生数据库,纵观未来科技发展
  6. AOP、动态代理、CGlib(原理实践)
  7. 触摸屏控制智能家居开关灯
  8. iphone 已停用 解锁_如何修复“解锁iPhone以使用配件”
  9. 【AI视野·今日NLP 自然语言处理论文速览 第二期】Mon, 7 Jun 2021
  10. 中国牛奶加热器市场趋势报告、技术动态创新及市场预测