Log4net日志记录、详细配置(自己使用)

时间:2021-11-30 21:37:44

【来自百度百科的一句介绍】log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

1、首先添加对log4net.dll的引用。可以去【http://logging.apache.org/log4net/download_log4net.cgi】下载或者NuGet

2、在web.config(App.config)中进行配置

 <configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="test.txt"/> 文件名
<appendToFile value="true"/> 追加还是覆盖
<maxSizeRollBackups value=""/> 数量/个数
<maximumFileSize value="1024KB"/> txt大小
<rollingStyle value="Size"/> 按大小划分
<staticLogFileName value="true"/> 是否静态名称
<layout type="log4net.Layout.PatternLayout"> 日志文件格式
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<level value="DEBUG"/> 错误等级
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>
</configuration>

2.1、这是最基础的配置,如果项目中使用,我习惯 让日志名称按时间来划分

2.2、级别由大到小:OFF >FATAL >ERROR>WARN >INFO>DEBUG > TRACE >ALL,一般Error就行。

3、在程序开始, 就开始记录。在程序的开始Global.asax  中加入log4net.Config.XmlConfigurator.Configure();

4、在要打印日志的地方,LogManager.GetLogger(typeof(Program)).Debug(“信息”)

ILog logger=LogManager.GetLogger(typeof(Test))

到这里就已经配置好了,可以使用了。

关于滚动日志

<root>
<level value="DEBUG"/>
<appender-ref ref="RollingLogFileAppender"/>   这行代表日志滚动
</root>

滚动日志是什么意思?

加入我们日志文件数是10,  默认首先写入Test.txt中,当Test.txt的文件大小超过1M( <maximumFileSize value="1024KB"/>     当然大小也可以自己修改,但是不要太大),那么就将Test.txt中记录剪切出来,拷贝进Test1.txt中,依次类推,直到达到Test10.txt, 然后又进行重复的剪切拷贝。

其他记录日志组件

除了Log4Net,还有Enterprise Library中的Logging Application Block、Apache的CommonLog 以及NLog等,使用应该都是差不多的。

有使用过除Log4Net其他的,欢迎和我交流下哦~

Log4net日志记录、详细配置(自己使用)的更多相关文章

  1. springmvc&plus;log4j操作日志记录&comma;详细配置

    没有接触过的,先了解一下:log4j教程 部分内容来:log4j教程 感谢! 需要导入包: log包:log4j-12.17.jar 第一步:web.xml配置 <!-- log4j配置,文件路 ...

  2. log4net 日志框架的配置

    log4net 日志框架的配置——静态文件(一) 添加对log4net程序集的引用 选择程序集文件添加引用即可,需要注意的是需要添加相应程序版本的程序集,如果你的应用是基于.netFramework2 ...

  3. Log4Net 日志记录的实现

    一.前言 在上一篇文章[(转载)非常完善的Log4net配置详细说明]介绍了Log4Net的配置说明,如果不知道的可以去看看,这里我们就介绍一下日志记录的实现,说得都比较基础,所以大神请绕过. 二.L ...

  4. log4net日志记录

    这里是接着上一篇来优化的,上篇:ASP.NET MVC中错误日志信息记录 log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件,数据库,EventLog等),日志就是程序的黑 ...

  5. Log4Net日志记录两种方式

     简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.     log4net是Ap ...

  6. C&num;Log4net日志记录组件的使用

    一.Log4Net介绍 Log4net是基于.NET开发的一款非常著名的记录日志开源组件.它通过一套XML配置的日志引擎,将日志分不同的等级,分别是:FATAL . ERROR. WARN. INFO ...

  7. Yii2如何添加sql日志记录的配置信息

    在使用Yii2框架的时候,常常会出现没有sql日志记录的问题.在代码里一句一句的打印sql语句也不现实.所以就要用文件记录起来. 在 config/web.php 里面的 log配置中增加如下配置 [ ...

  8. Log4Net日志记录介绍

    原文地址 : http://www.cnblogs.com/wolf-sun/p/3347373.html#3009010 简介 log4net库是Apache log4j框架在Microsoft . ...

  9. C&num;- 实用的Log4Net日志记录例子

    工作中也是要用到日志记录的,LOG4NET在这块做的不错,以后可以继续拿来用. 1.引用DLL 2.LOG4NET的配置文件 <?xml version="1.0" enco ...

  10. Django日志记录详细的报错信息

    当服务器500错误的时候,普通日志只会记录一行500的request信息,并不会记录详细的报错定位 [ERROR] 2019-06-12 15:07:03,597 "GET /api/v1/ ...

随机推荐

  1. VC&plus;&plus; 解决在鼠标移动时,光标闪烁的问题。其实本质是 ON&lowbar;SETCURSOR的用法

    在调用Windows API函数SetCursor设置光标时,可能会碰到闪烁的问题:移动鼠标,光标在Class Cursor(即注册窗口类时指定的Cursor)与预设Cursor之间闪烁. 在MSDN ...

  2. Xamarin环境搭建

    Xamarin的环境搭建 Xamarin在osx下面的环境搭建包括开发者帐号申请,下载安装Xamarin以及Xcode,以及Xamarin Studio上编写第一个应用程序.Xamarin是一个跨平台 ...

  3. C&num; 获取属性字段上DescriptionAttribute的值

    var ent = new Ent(); foreach (var item in ent.GetType().GetProperties()) { var v = (DescriptionAttri ...

  4. Web QQ自动强制加好友代码

    也许见过强行聊天的代码:  tencent://Message/?Uin=574201314&websiteName=www.oicqzone.com&Menu=yes 但是你应该不知 ...

  5. C&plus;&plus; Primer第九章课后编程问题

    1. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3V1Z2xlMjAxMA==/font/5a6L5L2T/fontsize/400/fill/I0J ...

  6. NancyFX 附录&colon; Nuget程序包

    Nancy.Authentication.Forms 该程序包向Nancy提供标准的基于ASP.NET/IIS的表单身份验证服务. 采用这个模块启用身份验证后,可以获得标准ASP.NET表单验证方式. ...

  7. 为什么用Flow

    Flow 是 facebook 出品的 JavaScript 静态类型检查工具.Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. flow的工作方式? ...

  8. 1503&period;02531-Distilling the Knowledge in a Neural Network&period;md

    原来交叉熵还有一个tempature,这个tempature有如下的定义: \[ q_i=\frac{e^{z_i/T}}{\sum_j{e^{z_j/T}}} \] 其中T就是tempature,一 ...

  9. mysql8&period;0&period;11绿色版安装教程

    解压到安装目录 在根目录建立data文件夹 建立my.ini文件 代码如下 # Other default tuning values # MySQL Server Instance Configur ...

  10. HALCON视觉算子相关函数中文说明System&lpar;2&rpar;

    16.6  Parameters get_system_ 功能:根据HALCON系统参数获取关于当前的信息. set_system 功能:HALCON系统参数的设置. 16.7  Serial cle ...