博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Log4net快速配置使用指南。(快速搭建log4net日志平台手册)
阅读量:5340 次
发布时间:2019-06-15

本文共 4298 字,大约阅读时间需要 14 分钟。

每做一个新项目,都会用到log4net,但总是忘记如何快速配置。有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net。

直接上介绍的步骤:

1. 官网下载最新版的log4net。,打开官网,在Binaries类别下,下载最新版的log4net包,点击如下图所示按钮下载:

2. 找到所需的log4net版本。下载后,解压缩包,找到自己.net程序所对应的log4net版本,我用的是VisualStudio 2010,项目用的是.netframework 4.0, 所以我用的log4net版本在C:\Users\zhengshuangliang\Downloads\log4net-1.2.13-bin-newkey\log4net-1.2.13\bin\net\4.0\release\

3. 选择配置信息存放方式。我喜欢把log4net的配置文件和项目的配置文件(app.config或web.config)放在一起,所以我删除了log4net自带的配置文件log4net.xml,而是把配置信息放在app.config或web.config里。

4. 在最终执行的项目配置文件里添加log4net配置信息。在app.config或web.config中添加如下面代码中的<configSections>和<log4net>的内容(代码中以黄色背景标识)。

  只需在最终执行的项目下添加配置文件就行,因为所有的其他项目或引用的dll都会走同一个入口(可执行项目),所以整个产品就只有一份log4net配置文件即可,在你想写日志的项目里引用log4net.dll,直接创建Logger对象写日志即可,详细操作可参照步骤6

  以下log4net配置信息将会在可执行的项目目录下创建Log文件夹,里面会创建名位:Logs_20150116.txt;Logs_20150116.txt1;Logs_20150116.txt2的日志文件,每个文件最大为10M,不设文件数目上限,日期变化后会重新生成新的日志文件。若需要更详细的的配置信息请参看其他博文,本文不做详细介绍

View Code

 

5. 配置可执行项目的AssemblyInfo.cs文件,以便让log4net的配置信息让所有dll找到。在可执行项目的AssemblyInfo.cs文件中添加如下代码中的最后一行

using System.Reflection;using System.Runtime.CompilerServices;using System.Runtime.InteropServices;// General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information// associated with an assembly.[assembly: AssemblyTitle("***CentralServiceStartEngine")][assembly: AssemblyDescription("")][assembly: AssemblyConfiguration("")][assembly: AssemblyCompany("IGT Technology Development (Beijing) Co., Ltd.")][assembly: AssemblyProduct("***CentralServiceStartEngine")][assembly: AssemblyCopyright("Copyright ©***, Ltd. 2014")][assembly: AssemblyTrademark("")][assembly: AssemblyCulture("")]// Setting ComVisible to false makes the types in this assembly not visible // to COM components.  If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type.[assembly: ComVisible(false)]// The following GUID is for the ID of the typelib if this project is exposed to COM[assembly: Guid("7c36bff0-c***-4f43-8be8-3781390c35c7")]// Version information for an assembly consists of the following four values:////      Major Version//      Minor Version //      Build Number//      Revision//// You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below:// [assembly: AssemblyVersion("1.0.*")][assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersion("1.0.0.0")][assembly: log4net.Config.XmlConfigurator(Watch = true)]
View Code

 

6.项目中使用Log4net。把log4net.dll(无需log4net.xml)放在整个项目的Lib工具库里,在需要写日志的项目中引用此log4net.dll文件,首先创建Logger,然后直接写日志即可。如下代码:

using System;using System.Collections.Generic;using System.Configuration;using System.Text;using log4net;namespace ***.***.***{    public static class CentralServiceEngine    {        //CentralServiceEngine将会在日志中体现,为的是更快定位问题        private static ILog _log = LogManager.GetLogger(typeof (CentralServiceEngine));        public static void StartService()        {            _log.Info("In OnStart IPSCentralService.");            _log.Info("Info");            _log.Debug("Debug");            _log.Warn("Warn");            _log.Error("ERROR");            _log.Fatal("Fatal");        }        public static void StopService()        {            _log.Info("In onStop IPSCentralService.");        }    }}
View Code

 

Build代码若出现找不到log4net命名空间或程序集的错误,则修改下项目的Target Framework(目标框架,在项目->右键属相->Application页签中),从.NET Framework 4 Client Profile 变为.NET Framework 4。

 

以上代码中会有带*号的内容,目的是不想把自己的内容公开,用时请替换为你的真实数据。

此博文仅为能快速搭建写日志的平台,有问题随时交流,错误之处欢迎批评指正。

转载于:https://www.cnblogs.com/zhengshuangliang/p/4227973.html

你可能感兴趣的文章
mysql中两表更新时产生的奇葩问题,产生死锁!
查看>>
Python正则表达式
查看>>
celery使用
查看>>
如何在win2003下安装sql2008[多次安装sql2008失败者必看]
查看>>
[C++]C++学习笔记(四)
查看>>
Vue 不睡觉教程1-从最土开始
查看>>
IT技术栈、JAVA技术栈、游戏开发技术栈
查看>>
浏览器百度点击第二页时仍然跳转到第一页
查看>>
EXTI—外部中断/事件控制器
查看>>
全本软件白名单 Quanben Software Whitelist
查看>>
Android4.4新的特性,在应用内开启透明状态栏和透明虚拟按钮。
查看>>
JS 书籍拓展内容
查看>>
WinForm中如何判断关闭事件来源于用户点击右上角的“关闭”按钮
查看>>
用css3和javascript做的一个简单的计算器
查看>>
[转]AI+RPA 融合更智能
查看>>
Javascript拖拽&拖放系列文章1之offsetParent属性
查看>>
OWIN的理解和实践(二) – Host和Server的开发
查看>>
VS DLL 复制本地
查看>>
异常处理原则
查看>>
scrapy框架之递归解析和post请求
查看>>