一、从Nuget下载lognet.dll

找到log4net之后,单击log4net,右侧会出现你的项目,勾选要安装的项目,然后点击“安装”。

二、打开app.config,进行如下设置

<?xml version="1.0" encoding="utf-8"?>
<configuration><!--<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/></startup>--><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /></configSections><log4net><!--定义输出到文件中--><appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><!--定义文件存放位置--><file value="Log\\Error\\"/><appendToFile value="true"/><rollingStyle value="Date"/><datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/><staticLogFileName value="false"/><param name="MaxSizeRollBackups" value="100"/><layout type="log4net.Layout.PatternLayout"><!--每条日志末尾的文字说明--><!--输出格式--><!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info--><conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/></layout></appender><root><level value="ERROR"/><!--文件形式记录日志--><appender-ref ref="RollingLogFileAppender"/></root></log4net>
</configuration>

以上设置中

<file value="Log\\Error\\"/>  
<datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
代表生成路径及格式为:Log\\Error\\yyyy\\yyyyMM\\yyyyMMdd.txt如有需要,可自行修改。

三、WPF:在项目中找到Properties文件夹中找到AssemblyInfo.cs ,设置log4net  Winform:在项目中找到Program.cs,在Main函数中设置log4netWPF:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]


Winform:
log4net.Config.XmlConfigurator.Configure();

以上是Winform程序和WPF程序使用log4net的唯一区别点。

四、建立调用对象。建log类。

    public static class LogTools{/// <summary>/// 用来记录error和warn/// </summary>public static log4net.ILog ErrorWarnLog = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);}

五、程序中应用案例

有个地方要注意,调用方式是LogTools.ErrorWarnLog.Error(e),不是LogTools.ErrorWarnLog.Error(e.Message),一开始我是错误的写法,记录的Error信息异常,导致我找了半天,在此提醒下大家。

        /// <summary>/// 线程工作步骤/// </summary>private void Working(){try{while (true){//线程步骤,略
                }}catch (Exception e){LogTools.ErrorWarnLog.Error(e);}}

六、log信息

完~

WinForm和WPF使用log4net相关推荐

  1. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])...

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  2. Winform、WPF、Silverlight、MFC区别与联系

    WinForm 在Windows中,诸如窗体绘制等功能由GDI(图形设备接口)实现,放在操作系统内核中.Windows Forms在底层使用的是GDI+.GDI+是GDI的"面向对象包装&q ...

  3. Windows程序设计:MFC 、Winform 和 WPF 比较

    MFC生成本机代码,自然是很快,可是消息循环减缓了界面显示速度. WinForm封装了win32的api,多次进行P/invoke操作(大部分使用p/invoke操作封装),速度慢. WPF是一种新的 ...

  4. winform 与WPF

    winform 与WPF 在多线程上的改进性能没大区别,WPF 是富客户端,winform是常见的客户端,就是说wpf实现一些绚丽界面比winform更容易,这就是他们的区别,当然wpf是微软取代wi ...

  5. 浅析.Net 在 winform及wpf中涉及界面交互的多线程类的封装

    我们在开发客户端程序时,经常要用到多线程 而我们知道 , .Net 中从线程安全的考虑,对控件改变的调用要通过Invoke, beginvoke 来进行,这就涉及怎么进行工作线程与界面的互操作. 本文 ...

  6. winform,wpf全屏 还显示任务栏的解决方法

    winform,wpf全屏 还显示任务栏的解决方法 参考文章: (1)winform,wpf全屏 还显示任务栏的解决方法 (2)https://www.cnblogs.com/Viki/archive ...

  7. 基础tips:.NET和ASP.NET还有ASP到底是什么?客户端WinForm和WPF的区别?前端三大框架,webpack和vite的比较,android三大框架.

    1..NET和ASP.NET分别是什么? .NET是微软的一个开发平台,其主要核心就是.NET Framwork,这个平台的一大特点就是跨语言性,不管是什么语言,c.c++.c#.F#.J#.vb等语 ...

  8. 2021-12-12 WPF面试题 相对于Winform,WPF有什么优势?

    相对于Winform,WPF有什么优势? 1 - 绑定(更简约的编码) 2 - 灵活的外观和感受(资源和样式) 3 - 声明式编程 (XAML) 4 - 表现层混合动画(动画开发简单) 5 - 快速加 ...

  9. A9G GPS定位系统介绍(物联网、.NET Core web、Winform、Wpf、STM32)

    内容介绍 GPS定位系统主要实现的功能是基于GPS对远程物体进行无线追踪,GPS模块采用安信可的A9G.该系列主要涉及到的知识点包括: 1.基于asp.net core web 3.1\5.0\6.0 ...

最新文章

  1. Typescript 精彩履历
  2. php 判断类存在,PHP怎么判断类是否存在
  3. 【CodeForces - 1066A~E】水题,模拟(有技巧),思维,题意难懂的模拟,二进制问题(有技巧)
  4. Conda 环境常用碎笔记
  5. android 下载网络图片并缓存
  6. android mac地址过滤,android手机怎么更改mac地址绕过mac过滤
  7. css3技巧——实现一个正方体
  8. c语言辗转求最小公倍数,c语言:辗转相除法求最大公约数、最小公倍数
  9. 【M365运维】匹配用户UPN和Email地址
  10. SqlServer 备份还原
  11. Android studio 手机扫描二维码功能
  12. python加减乘除运算代码_四则运算python版
  13. ffmpeg实例,fade淡入淡出效果
  14. 增量式编码器有哪些分类?增量式编码器是如何工作的?
  15. 如何用ps把照片变成白底
  16. 音视频技术开发周刊 | 263
  17. cpu导热膏安装_我应该在CPU上涂抹多少导热膏?
  18. CNN卷积神经网络结构遐思
  19. 时间序列分析——基于R语言案例数据课后数据
  20. 写给想成为产品经理的学生们

热门文章

  1. Shell编程:shell script 的追踪与 debug
  2. TOP命令及参数解析
  3. Ethercat解析(一)之获取、编译、安装(Ubuntu14.04)
  4. PyOpenGL之3D界面详解(四)
  5. 《剑指Offer》用两个栈来实现队列
  6. 连接查询 左连接 右连接 内连接 1112 sqlserver
  7. django-新的django项目
  8. python-两种办法验证数据的类型
  9. MySQL-MySQL数据类型及占用字节数
  10. our happy ending(状压dp)