C#使用Log4Net记录日志

C#使用log4net记录日志 创建日志记录的步骤 第一步:下载Log4Net 针对.NET FramerWork的不同版本,找到相应版本的log4net.dll 第二步:应用Log4Net 1、在项目中添加Log4Net.DLL的引用(把Log4Net.Dll复制到项目的根目录下,然后添加Log4Net的引用)。 2、添加引用之后,配置Log4Net。 (1)新建一个应用程序配置文件app.config <?xml ve... 阅读详情

第一步:下载Log4Net

           下载地址:http://logging.apache.org/log4net/download_log4net.cgi

           把下载的  log4net-1.2.11-bin-newkey解压后,如下图所示:

          

            双击bin文件夹

              

              双击net文件夹,选择针对.NET FramerWork的不同版本

              

             找到相应版本的log4net.dll

第二步:应用Log4Net

          

          1、在项目中添加Log4Net.DLL的引用

                开发环境:XP Professional Service Pack3

               开发工具:VS2010旗舰版

          新建个WinForm应用程序,效果图如下仅为了简单演示

            

           窗体命名为:FormMain

          把Log4Net.Dll复制到项目的根目录下,然后添加Log4Net的引用

          

 

      添加引用之后

    2、配置Log4Net

       (1)新建一个应用程序配置文件app.config

               

      (2)app.config的配置文件内容如下

       

复制代码
 1 <?xml version="1.0"?>
 2 <configuration>
 3   <configSections>
 4     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 5   </configSections>
 6   <log4net>
 7     <!--定义输出到文件中-->
 8     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
 9       <!--定义文件存放位置-->
10       <file value="log\\"/>
11       <appendToFile value="true"/>
12       <rollingStyle value="Date"/>
13       <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/>
14       <staticLogFileName value="false"/>
15       <param name="MaxSizeRollBackups" value="100"/>
16       <layout type="log4net.Layout.PatternLayout">
17         <!--每条日志末尾的文字说明-->
18         <!--输出格式-->
19         <!--样例:2008-03-26 13:42:32,111 [10] INFO  Log4NetDemo.MainClass [(null)] - info-->
20         <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>
21       </layout>
22     </appender>
23     <root>
24       <level value="ERROR"/>
25       <!--文件形式记录日志-->
26       <appender-ref ref="RollingLogFileAppender"/>
27     </root>
28   </log4net>
29 </configuration>
复制代码

 

      

    每个参数的含义请参考如下链接:

    Log4Net使用详解转载周公

    http://blog.youkuaiyun.com/zhoufoxcn/article/details/2220533

   Log4Net使用详解续转载周公

   http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

(3)新建一个LogHelper帮助类,为了在多个窗体中都进行调用,类内容如下:

  

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 [assembly: log4net.Config.XmlConfigurator(Watch = true)]
 7 namespace TestLog4Net
 8 {
 9    public  class LogHelper
10     {
11         /// <summary>
12         /// 输出日志到Log4Net
13         /// </summary>
14         /// <param name="t"></param>
15         /// <param name="ex"></param>
16         #region static void WriteLog(Type t, Exception ex)
17 
18         public static void WriteLog(Type t, Exception ex)
19         {
20             log4net.ILog log = log4net.LogManager.GetLogger(t);
21             log.Error("Error", ex);
22         }
23 
24         #endregion
25 
26         /// <summary>
27         /// 输出日志到Log4Net
28         /// </summary>
29         /// <param name="t"></param>
30         /// <param name="msg"></param>
31         #region static void WriteLog(Type t, string msg)
32 
33         public static void WriteLog(Type t, string msg)
34         {
35             log4net.ILog log = log4net.LogManager.GetLogger(t);
36             log.Error(msg);
37         }
38 
39         #endregion
40 
41 
42     }
43 }
复制代码

此时生成解决方案,可能会出现如下错误信息:

   未能找到类型或命名空间名称"log4net"(是否缺少using指令或程序集引用?)解决方法  

   当前上下文中不存在名称"log4net"解决方法

此时可能有的人很纳闷,明明添加了引用怎么还提示找不到命名空间呢。解决这个问题很简单,右键项目选择属性

 

 

 

将目标框架默认的.NET Framework4 Client Profile修改为.NET Framework4之后再重新生成解决方案就行了。

 

第三步:测试Log4Net

 

           在按钮的事件中添加如下的代码

 

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Windows.Forms;
 9 
10 namespace TestLog4Net
11 {
12     public partial class FormMain : Form
13     {
14         public FormMain()
15         {
16             InitializeComponent();
17         }
18 
19         private void btnTest_Click(object sender, EventArgs e)
20         {
21             //第一种记录用法
22             //(1)FormMain是类名称
23             //(2)第二个参数是字符串信息
24             LogHelper.WriteLog(typeof(FormMain), "测试Log4Net日志是否写入");
25 
26 
27             //第二种记录用法
28             //(1)FormMain是类名称
29             //(2)第二个参数是需要捕捉的异常块
30             //try { 
31             
32             //}catch(Exception ex){
33 
34             //    LogHelper.WriteLog(typeof(FormMain), ex);
35 
36             //}
37           
38 
39         }
40     }
41 }
复制代码

 

 

运行项目点击Button按钮,在项目的根目录下就会看到log文件夹

打开log文件夹就会看到里面以日期命名的文件夹一直打开可以看到如下图

看到这个文件就说明log4net.dll的应用已经成功了。

 

 

备注:文件夹的命名是根据你在app.config里面设置的file节点自动生成的,你可以根据自己的需要自己设置存放的路径和格式等。


原文:http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

C# 上位机 log4net 增加日志记录功能 在解决方案资源管理器的项目上通过右键点击打开菜单,选择【管理Nuget程序包】,在打开的窗口中选择【浏览】选项,在搜索框中输入【log4net】,选择匹配的项目点击,即可进行对指定项目进行安装,安装之后相应的dll 文件就存放在了项目中。在项目的下拉菜单中,选择添加组件,在弹出的窗口中查找或搜索配置文件选项,选择【应用程序配置文件】,重命名配置文件的名称或者默认添加。找到项目中的【AssemblyInfo.cs】文件,在任意位置添加以下配置,用于加载上述设置的配置文件。 阅读详情

相关推荐

C#上位机开发(十三)—— 使用Log4net添加日志记录功能

一、Log4net 官方网站:https://logging.apache.org/log4net/。 下载二进制dll库: 包中提供了针对各个版本的dll库: 二、使用日志库 1. 添加库 复制对应的库文件到项目中: 2. 配置log4net 2.1. 创建配置文件 添加后修改该文件设置: 2.2. 修改配置文件 替换文件为以下内容,设置为日志文件输出: <?xml version="1.0" encoding="utf-8"?> <log4net> <!--

Mculover666的博客(嵌入式) 1797

C#使用 Log4Net 记录日志

扩展方法返回IHostBuilder对象,这样可以链式调用,美化代码,然后在Program.cs中使用扩展方法UseLog4Net()。新建一个静态类,写一个扩展方法UseLog4Net(),用于log4net初始化。配置完成,然后在任意地方写入日志即可。

m0_50914038的博客 1446

C#【必备技能篇】log4net的使用

使用log4net大致分以下几步: 1.安装 log4net,通过 Nuget 下载(或者有log4net.dll的话,直接引用即可) 2.新建 log4net.config 配置文件

星Yeah 的博客 1万+

C#使用log4net进行日志记录

今天在使用C#进行一个小模块开发的时候,有个需求是需要进行日志记录,日志记录挺熟悉的,Java中常用的就是log4j进行日志记录,但是在C#中,我一点也不了解,于是通过查阅资料等,进行了在C#中进行日志记录。 C#中进行日志大多选择的是log4net进行的,下面直接说使用方法。 首先下载log4net包,步骤:工具—>NuGet包管理器—&...

有问题请发邮箱dengyifanlittle@163.com进行讨论 1859

.NET c#使用Log4net记录日志

log4net记录日志 记录一个简单的加法案例: 第一步下载log4net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 同时我们的Blend for Visual Studio 工具中也可以下载,右击解决方案,点击管理解决方案的NuGet 程序包,打开NuGet程序包管理器,搜索Log4net进行下载. 第二步应用Log4...

qq_43434300的博客 3332

Log4net使用Demo

用户可以从http://logging.apache.org/log4net/下载log4net的源代码。解压软件包后,在解压的src目录下将log4net.sln载入Visual Studio .NET,编译后可以得到log4net.dll。用户要在自己的程序里加入日志功能,只需将log4net.dll引入工程即可。

C#用log4net记录日志

C#用log4net记录日志 1、首先安装log4net。 2、新建log4net.config 文件,右键-属性 “复制到输出目录”设置为“始终复制” 3、设置log4net.config 配置文件 <?xml version="1.0"...

dayanyun4518的博客 156

vs2010Log4Net实例,解决无法加载

警告 1 未能解析引用的程序集“log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL”,因为它对不在当前目标框架“.NETFramework,Version=v4.0,Profile=Client”中的“System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”具有依赖关系。请删除对不在目标框架中的程序集的引用,或考虑重新确定项目的目标。 解决方法:查看项目属性,发现该项目的目标框架是.NET Framework 4 Client Profile ,而被引用的程序集的目标框架是.NET Framework 4,将该项目的目标框架修改成.NET Framework 4 编译,通过。

C#下log4net日志记录使用实例完整教程

C#下log4net日志记录使用实例完整教程1 log4net1.1 log4net简介1.2 log4net源码下载1.3 log4net源码编译1.3.1 编译工具1.3.2 编译步骤1.3.2.1 解压log4net源码apache-log4net-source-2.0.10.zip1.3.2.2 找到文件“……\log4net解压目录\src\log4net.sln”1.3.2.3 Visual Studio运行“log4net.sln”1.3.2.4 Visual Studio中设置工程等细节2

ZYF的博客 3777

ArcGIS | 全球新冠肺炎地图数据下载和处理

ArcGIS

thinkpang的博客 2900

华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9

分享

m0_52356707的博客 1万+

C#使用log4net结合sqlite数据库记录日志

使用log4net结合sqlite用法,将日志写入数据库中,极大扩展操作性。

cun的博客 1302

CodeBlocks如何将英文环境改为中文

一、下载汉化包(链接如下) 链接:https://pan.baidu.com/s/166U9WGPbJXu2hyD7q9EiJQ 提取码:2333 二、选择路径 将汉化包中的文件(CodeBlocks.mo、zh_CN.mo、zh_CN.po)放到CodeBlocks安装路径下的​​​​​​CodeBlocks/share/CodeBlocks/locale/zh_CN文件夹中,路径中的文件夹没有就新建。 注:此处需严格按照要求来,切勿自定义文件夹名 三、内部调试 打开CodeBlocks,..

云隐雾匿的博客 2万+

C# 使用 log4net 记录日志

在一般的开发应用中,都会涉及到日志记录,用于排查错误 或 记录程序运行时的日志信息。log4net 库是 Apache log4j 框架在 Microsoft .NET 平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的组件。下载成功后会包含 log4net.dll 和 log4net.xml 文件。2)或者在项目中手动引用 log4net.dll 程序集。一、引用 log4net.dll 程序集(不多说很简单)2.编写 log4net 的配置信息。3.调用(记录日志)。

u010054389的博客 1007

【Labview】对连续采集数据的一种采样方法

图1如图1,想要对这样一个连续信号进行数据点的采集,我根据网上收集到的方法,在此分享一下最终的结果。可以拓展结合文件的写入,完成对连续信号的采集和输出。 已知: 一个连续信号,如图1. 目标: 设定一定采集点个数、采集点时间间隔、和采集周期次数,得到这条连续信号的数据点,如图2. 图2 方法如下: 主要利用的是队列的方法。 在连续信号生成的时候,不断的写入队列,并且清除队列。 ...

李时珍食疗志的博客 1万+

ST-LINK调试原理与STM32硬件连接实战指南

嵌入式调试器是连接开发环境与物理MCU的核心枢纽,其本质是基于ARM CoreSight架构的实时硬件观测与控制接口。它通过JTAG或SWD协议访问内核寄存器、内存及外设,实现断点、单步、内存监视等深度调试能力,远超简单程序烧录功能。ST-LINK作为主流ARM Cortex-M调试器,支持SWD(2线)与JTAG(多线)双模式,在电平匹配、复位控制、引脚复用规避等硬件层面临关键工程约束。掌握VREF参考电压配置、nSRST硬复位接线、调试引脚隔离策略及Keil MDK调试会话配置,是保障STM32稳定联机

weixin_42596214的博客 312

VS-2019-.NET-C#使用log4net打日志,程序日志记录

公司项目要求所有的项目必须使用日志记录项目运行的相关数据信息以及错误日志记录。所以今天给大家介绍C#项目如何使用log4net进行日志记录。项目中的日志记录了系统运行时发生的各种事件和错误信息,对于排查故障和定位问题非常有帮助。例如,在系统出现异常或崩溃时,开发人员可以通过查看日志找到相关的错误信息,进而定位问题的根本原因。日志中会记录系统的运行流程、函数调用栈、异常堆栈等关键信息,这些都是快速定位问题所必需的。

无简介 5577

半监督的医学分割数据集(LA, Pancreas, ACDC和PROMISE12)分享

这篇文章提供了四个常用的半监督医学分割数据集,所有数据集都已经被处理成了.h5文件。下载之后就可以直接使用

qq_45691955的博客 4178

C#使用log4net记录日志(转)

C#使用log4net记录日志 一、Nuget安装log4net --> Install-Package log4net 二、在AssemblyInfo.cs文件中添加log4net.dll的参数。 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)] 三、右击项目→添加→新建项→xxx配置文件(web或者winfo

qq_37959151的博客 266

ROSTEA软件下载及情感分析详细操作教程(附网盘链接)

原ROST虚拟团队出品的ROST系列文本内容挖掘分析平台,是辅助人文社会科学研究的免费计算平台。该软件可以实现文本预处理、分字、分词、词性识别、特殊名词抽取、词频统计、英文词频统计、情感计算、分类算法、聚类算法等一系列文本挖掘,是人文社科研究和论文写作的一把利器。该软件用户量超过一万人,遍布海内外100多所大学,包括剑桥大学、日本北海道大学、北京大学、清华大学、香港城市大学、澳门大学等众多高校。关于ROSTCM6的安装介绍可以参考之前的文章ROSTCM6软件下载及语义网络分析详细操作教程ROST EA。

m0_64336780的博客 1万+

由ip地址和子网掩码求网络号、主机号、广播地址(超详细)

1、用二进制数表示IP地址   在进行计算之前,我们首先要学会十进制的IP地址怎么转换为二进制的IP地址。   给出一个例子: 十进制:172.16.25.3 二进制:10101100.00010000.00011001.00000011 1、如果两台主机的网络号相同,我们就说它们是同一网段 2、主机号的意义 - 1)主机号部分全变成1,即为该网段的广播地址 - 2)主机号部分全变成0,即为该网段的网路地址(网络号) 3、如果主机号部分为x位,则该网络能容纳最大主机数为: 2的x次方-2。减2

爱吃雪糕的小布丁的博客 9万+

C#使用log4net记录日志 (转)

C#使用log4net记录日志 一、下载log4net.dll(百度云里面有)文件,然后再在项目中添加引用。 二、在AssemblyInfo.cs文件中添加log4net.dll的参数。 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension =...

weixin_30892889的博客 96

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 知道类名,通过反射获取类对象(有参和无参构造函数)
下一篇: MVC中t4模板在视图中的运用,创建自定义视图的t4模板
DayDay_Code
博客等级 码龄14年 31粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值