RollingFileAppender配置

log4net的记录介质很多,这里只总结最常用的方式之一:RollingFileAppender。

1.日志文件名是以文件大小进行变换的

  如果日志文件大小到100KB时,就会变换文件名为log.txt.1,log.txt.2,log.txt.3...,后边的数字越大,记录越早,一直到10为止,最新的文件名为一直log.txt。

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件名-->
<file value="F:/log.txt"/>
<!--是否在文件中追加,设为false则去将以前的记录覆盖-->
<appendToFile value="true"/>
<!--按照文件的大小进行变换日志文件-->
<rollingStyle value="Size"/>
<!--最大变换数量-->
<maxSizeRollBackups value="10"/>
<!--最大文件大小-->
<maximumFileSize value="100KB"/>
<!--日志文件名是否为静态-->
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
</layout>
</appender>

2.备份的日志文件名以时间命名

  在F:/log/文件夹下,当前的日志名为:At_20180808-1247.log,上一分钟备份的名字At_20180808-1246.log 表示2018年8月8日,12点46分,每分钟备份一次

 <appender name="滚动文件输出" type="log4net.Appender.RollingFileAppender">
<file value="F:/log/At_" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd-HHmm'.log'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

3.时间和大小混合的方式

  在F:/log/文件夹下,当前的日志时At_20180808-1252.log,这分钟内大小超过2kb时备份为At_20180808-1252.log.1;...,上一分钟日志名为: At_20180808-1251.log , 备份名字为:At_20180808-1251.log.1; ....

 <appender name="滚动文件输出" type="log4net.Appender.RollingFileAppender">
<!--日志文件名开头-->
<file value="F:/log/At_" />
<!--是否追加到文件-->
<appendToFile value="true" />
<!--混合使用日期和文件大小变换日志文件名-->
<rollingStyle value="Composite" />
<!--日期的格式-->
<datePattern value="yyyyMMdd-HHmm'.log'" />
<!--最大变换数量-->
<maxSizeRollBackups value="100" />
<!--最大文件大小-->
<maximumFileSize value="2kB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>

更多内容参考官网:http://logging.apache.org/log4net/release/config-examples.html

Log4net(三)——RollingFileAppender配置的更多相关文章

  1. log4net架构、配置、使用

    架构说明 架构说明 上图是官方文档的提供的代码组织. Log4net的核心组件有: Logger, Appender, Filter, Layout, Object Render, Logger介绍 ...

  2. log4net独立配置文件配置(winfrom)

    log4net配置很多,具体配置步骤不细说,具体说出个人遇到的问题. 在winfrom和web应用程序中配置,在默认配置文件配置都没问题,因为EF也写在默认配置文件中,就会冲突解决办法就是将log4. ...

  3. ASP.NET Log4Net日志的配置及使用,文件写入

    Log4net是Apache log4j框架在Microsort.NET平台实现的框架. 帮助程序员将日志信息输出到各种目标(控制台,数据库,文件等) 1.新建一个ASP.NET项目 2.新建一个 l ...

  4. Log4Net 的简要配置

    引用log4net.dll AssemblyInfo.cs中 [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyF ...

  5. log4net 使用与配置 每天一份log文件

    1.下载 或 在nuget安装 log4net 2. web.config (app.config) <configuration> <configSections> < ...

  6. log4net日志的配置及简单应用

    在程序运行中,往往会出现各种出乎开发人员意料的异常或者错误,所以,记录详细的程序运行日志信息,有利于开发人员和运维人员排查异常信息,提高工作效率.而本菜鸟在大神推荐和指导下使用log4net这一插件工 ...

  7. Log4net 日志记录配置信息

    <log4net> <!--配置日志的级别,低于此级别的就不写到日志里面去 OFF.FATAL.ERROR, WARN, INFO, DEBUG, ALL --> <ro ...

  8. Log4Net web.config配置

     1 .[assembly: log4net.Config.XmlConfigurator(ConfigFile = "web.config", Watch = true)]  写 ...

  9. C# 日志输出工具库—log4net 安装、配置及简单应用

    1.下载和安装 注意每次安装只是安装到本项目中,换了另一个项目需要再次安装和配置. 我使用的是Visual Studio 2013 社区版,在tools中找到NuGet包管理. 搜索log4net并点 ...

随机推荐

  1. [转]Spring通过@Value注解注入属性的几种方式

    原文地址:https://blog.csdn.net/csujiangyu/article/details/50945486 ------------------------------------- ...

  2. SpringMvc常见问题汇总

    1.Service类未用@Service注解2016-10-26 17:31:36 [org.springframework.web.context.ContextLoader]-[ERROR] Co ...

  3. jq源码解析之绑在$,jQuery上面的方法

    1.当我们用$符号直接调用的方法.在jQuery内部是如何封装的呢?有没有好奇心? // jQuery.extend 的方法 是绑定在 $ 上面的. jQuery.extend( { //expand ...

  4. Java和Android的Lru缓存,及其实现原理

    一.概述 Android提供了LRUCache类,可以方便的使用它来实现LRU算法的缓存.Java提供了LinkedHashMap,可以用该类很方便的实现LRU算法,Java的LRULinkedHas ...

  5. .NET中的许可证机制--License

    .NET中的许可证机制主要类:System.ComponentModel.License(为所有许可证提供 abstract 基类.向组件的特定实例授予许可证)     System.Componen ...

  6. 理解 Delphi 的类(十) - 深入方法[18] - 在接口区声明的方法都相当于提前声明了

    //要点18: 如果函数在接口区定义了, 就无需用 forward 提前声明了 unit Unit1; interface uses   Windows, Messages, SysUtils, Va ...

  7. [代码]Delphi实现窗体内嵌其他应用程序窗体

    实现原理是启动一个应用程序,通过ProcessID得到窗体句柄,然后对其设定父窗体句柄为本程序某控件句柄(本例是窗体内一个Panel的句柄),这样就达成了内嵌的效果. 本文实现的是内嵌一个记事本程序, ...

  8. jvm学习三:自定义ClassLoader

    第一节我们说过一句话:所有的Java虚拟机实现必须在每个类或接口被Java程序“ 首次主动使用”时才初始化他们 但类加载器却不是这样:类加载器不需要等到某个类“被首次主动使用”时才加载类 两句话的区别 ...

  9. 闭包自由变量引用对象的问题 http://bbs.pythontab.com/thread-4266-1-1.html

  10. 51nod-1459-迷宫游戏

    题意:中文题目.. 解题思路:我的做法就是单源最短路中加个记录分数的数组,如果dis[i]到dis[x]的距离可以被优化,那就连记录分数的数组一起优化,如果第二条路和第一条路的距离相等,那就取最大的分 ...