第一步:在项目中添加对log4net.dll的引用,这里引用版本是1.2.10.0。
第二步:程序启动时读取log4net的配置文件。
如果是CS程序,在根目录的Program.cs中的Main方法中添加:
log4net.Config.XmlConfigurator.Configure();
如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加:
log4net.Config.XmlConfigurator.Configure();
无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句:
[assembly:log4net.Config .XmlConfigurator()]
也可以使用自定义的配置文件,具体请参见4.4 关联配置文件。
第三步:修改配置文件。如果是CS程序,则在默认的App.config文件(没有新建一个)中添加内容;如果是BS程序,则添加到Web.config文件中,添加内容一样,这里不再列出。
App.config文件添加内容如下:
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<configSections>
<sectionname="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> <log4net>
<root>
<levelvalue="WARN" />
<appender-refref="LogFileAppender" />
<appender-refref="ConsoleAppender" />
</root> <loggername="testApp.Logging">
<levelvalue="DEBUG"/>
</logger> <appendername="LogFileAppender"type="log4net.Appender.FileAppender" >
<paramname="File"value="log-file.txt" />
<paramname="AppendToFile"value="true" /> <layouttype="log4net.Layout.PatternLayout">
<paramname="Header"value="[Header]"/>
<paramname="Footer"value="[Footer]"/>
<paramname="ConversionPattern"value="%d [%t] %-5p %c [%x] - %m%n" />
</layout> <filtertype="log4net.Filter.LevelRangeFilter">
<paramname="LevelMin"value="DEBUG" />
<paramname="LevelMax"value="WARN" />
</filter>
</appender> <appendername="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender> </log4net>
</configuration>
第四步:在程序使用。
log4net.ILoglog = log4net.LogManager.GetLogger("testApp.Logging");//获取一个日志记录器
log.Info(DateTime.Now.ToString()+ ": login success");//写入一条新log
这样就将信息同时输出到控制台和写入到文件名为“log-file.txt”的文件中,其中“log-file.txt”文件的路径是当前程序运行所在目录;也可以定义为绝对路径,配置如:
<paramname="File"value="C:\log-file.txt" />就写入C盘根目录下log-file.txt文件中

如何使用Log4net创建日志及简单扩展的更多相关文章

  1. 使用Log4net创建日志及简单扩展

    如何使用Log4net创建日志及简单扩展 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的 ...

  2. Log4net创建日志及简单扩展

    转:http://blog.csdn.net/CHENFEIYANG2009/article/details/5397342 1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log ...

  3. 利用log4net创建日志文件时过滤日志,这是坑还是?

    前言 网上貌似没有太多关于log4net过滤日志的资料,在研究过程中发现一点小问题,这里做下记录,希望对后续有用到的童鞋起到一丢丢帮助作用. log4net日志过滤 由于是在.NET Core中使用, ...

  4. 基于Log4Net本地日志服务简单实现

    背景 项目开发中,我们或多或少会使用诸如NLog,Log4Net,Kafka+ELK等等日志套件: 基于关注点分离原则,业务开发的时候不应该关注日志具体实现:并且后续能方便切换其他日志套件: 这里先实 ...

  5. 基于log4net的日志组件扩展封装,实现自动记录交互日志 XYH.Log4Net.Extend(微服务监控)

    背景: 随着公司的项目不断的完善,功能越来越复杂,服务也越来越多(微服务),公司迫切需要对整个系统的每一个程序的运行情况进行监控,并且能够实现对自动记录不同服务间的程序调用的交互日志,以及通一个服务或 ...

  6. Log4Net异常日志记录在asp.net mvc3.0的应用

    前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...

  7. Log4Net异常日志记录在asp.net mvc3.0的应用(转载)

    这篇博客写的很好:http://www.cnblogs.com/qianlifeng/archive/2011/04/22/2024856.html 前言 log4net是.Net下一个非常优秀的开源 ...

  8. 利用StackExchange.Redis和Log4Net构建日志队列

    简介:本文是一个简单的demo用于展示利用StackExchange.Redis和Log4Net构建日志队列,为高并发日志处理提供一些思路. 0.先下载安装Redis服务,然后再服务列表里启动服务(R ...

  9. 使用Common.Logging+log4net规范日志管理【转载】

    使用Common.Logging+log4net规范日志管理   Common.Logging+(log4net/NLog/) common logging是一个通用日志接口,log4net是一个强大 ...

随机推荐

  1. B/S结构的流程简单概述

    在介绍appl ication 对象之前,先简单介绍一些Web 服务器的实现原理.         对于大部分浏览器而言,它通常负责完成三件事情: (1)向远程服务器发送请求. (2)读取远程服务器返 ...

  2. Javaweb学习笔记——EL表达式

    一.前言 EL表达式是什么? 简而言之,可以这样理解,EL表达式全名为:Exprexxsion Language,原先是JSTL 1.0为了方便存取数据而定义的语言,到了JSTL 2.0便正式成为标准 ...

  3. logstash VS splunk

    web 系统是典型的分布式部署,由此对其运行状况,硬件运转情况监控也显得尤为重要,这些监控数据表面上对业务运行没有多大的用处(属于基础数据),但正是这些基础数据形成了业务“流”.比如,用户搜索爱好,浏 ...

  4. 熟悉vs2012IDE

    使用vs2012已经几个月了,深感对开发环境的学习有助于提高开发的效率.现将我的经验总结如下: 一.搜索 vs2012相比vs2010添加了正则搜索,极大的提高了代码的查询效率. 二.重构 同vs20 ...

  5. nth-child和:nth-of-type的区别

    :nth-of-type为什么要叫:nth-of-type?因为它是以"type"来区分的.也就是说:ele:nth-of-type(n)是指父元素下第n个ele元素, 而ele: ...

  6. iOS 隐藏自定义tabbar

    iOS  隐藏自定义tabbar -(void)viewWillAppear:(BOOL)animated { NSArray *array=self.tabBarController.view.su ...

  7. 小白挑战:AsyncTask源码分析

    //AsyncTask从本质上讲,是对ThreadPool和handler的封装. 在学习线程池相关的知识时,看到书中提到AsyncTask的实现中使用到了ThreadPool,于是把源码翻了出来, ...

  8. jacascript中的原型链以原型

    今地铁上看慕课网js课程,又学习到关于原型的一些知识,记录如下.如有偏差欢迎指正: 三张图要连起来看哦~ 图解: 1.创建一个函数foo. 2.运用函数的prototype属性(这个属性就是实例对象的 ...

  9. MongoDB-常见问题

    前言        MongoDB数据库的版本为3.0.7.记录在使用MongoDB数据库时遇到的各种问题,目前是遇到一个整理一个,没有进行分类,等整理较多的时候,进行分类整理一下. 1.使用可视化工 ...

  10. [css]我要用css画幅画(五)

    接着之前的[css]我要用css画幅画(四), 这次我给小明和静静增加了对话,用了简单的动画效果. github:https://github.com/bee0060/Css-Paint , 完整代码 ...