基础代码下载地址:https://github.com/zhangsai521314/StudyLog4net

1:按日期分隔日志

<configSections>
<section name="log4net"type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <logger name="StudyLog4net">
      <!--指定Log4.net第三个参数为StudyLog4net的则会执行StudyLog4netAppen下的配置-->
      <appender-ref ref="StudyLog4net_File" />
    </logger>
        <!--按日期分割日志文件 一天一个-->
<appender name=" StudyLog4net_File" type="log4net.Appender.RollingFileAppender,log4net">
 <param name="File" value="log\ StudyLog4net_File\ StudyLog4net_File.log"/>
 <param name="AppendToFile" value="true"/>
    <param name="RollingStyle" value="Date"/>
    <param name="DatePattern" value="yyyy.MM.dd"/>
 <param name="StaticLogFileName" value="true"/>
<layout type="log4net.Layout.PatternLayout,log4net">
 <param name="ConversionPattern" value="%d [%t] %-5p - %m%n"/>
 </layout>
 </appender>
  <root>
      <level value="All" />
      <appender-ref ref="rollingFile"/>
    </root>
  </log4net>
说明: File——文件存放路径
      AppendToFile—— 是否打开续写
 RollingStyle——文件创建的方式
DatePattern——日期格式,当我们设置了RollingStyle 为Date方式后,Log4Net会自动使用DatePattern—— 中的日期格式来创建新的日志文件
StaticLogFileName——是否使用静态文件名
ConversionPattern——信息书写的布局样式设置
Level——日志记录的类型
rollingFile—

2:按日志大小分隔日志

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>
    <logger name="StudyLog4net2">
      <!--指定Log4.net第三个参数为StudyLog4net的则会执行StudyLog4net下的配置-->
      <appender-ref ref="StudyLog4net_Size" />
    </logger>
    <!--按日志容量分割日志文件-->
    <appender name="StudyLog4net_Size" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="Log\StudyLog4net_Size\StudyLog4net_Size.log" />
      <!--是否续写-->
      <param name="AppendToFile" value="true" />
      <!--是否使用静态文件名-->
      <param name="StaticLogFileName" value="false" />
      <!--按照文件的大小进行变换日志文件-->
      <param name="RollingStyle" value="Size" />
      <!--单个文件最大容量 只有在 按Size分割时有效-->
      <param name="MaximumFileSize" value="10KB"/>
      <!--保留的log文件数量,超过此数量后,自动从最后的删除,按Size分割时有效-->
      <param name="MaxSizeRollBackups" value="2" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="发生时间:%d %n事件级别:%level %n相关类名:%c%n程序文件:%F 第%L行%n日志内容:%m%n-----------------------------------------%n" />
      </layout>
    </appender>
    <root>
      <!--日志记录的类型-->
      <level value="All" />
      <!--启用按容量分割-->
      <appender-ref ref="LogFileAppenderBySize" />
    </root>
  </log4net>

3:将日志输出到数据库(SqlServer)

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>
  <log4net>

    <!--当时把日志插入到数据库的时候,必须有appender-ref。否则插不进去-->
    <logger name="sourec">
      <appender-ref ref="ADONetAppender" />
    </logger>
    <!--SQL数据库-->
    <appender name="ADONetAppender" type="log4net.Appender.ADONetAppender">

      <!--缓存区,值为1的时候并发插入的日志信息最完整-->
      <bufferSize value="1"/>

      <!-- SQL数据源-->
      <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

      <!-- SQL连接字符串-->
      <connectionString value="data source=.;initial catalog=zhangsai;integrated security=False;persist security info=True;User ID=sa;Password=123456" />

      <!--SQLServer插入语句-->
      <commandText value="INSERT INTO Log ([RecordTime],[LevelName],[Message],[Exception]) VALUES (@log_date, @log_level, @message, @exception)"/>
      <!--SQLServer创建数据库语句
      create table Log
      (
      [ID] int identity(1,1) primary key
      ,[RecordTime] datetime
      ,[LevelName] varchar(30)
      ,[Message]  varchar(2000)
      ,[Exception] varchar(4000)
      )-->
      <!--日期-->
      <parameter>
        <parameterName value="@log_date"/>
        <dbType value="DateTime"/>
        <layout type="log4net.Layout.RawTimeStampLayout"/>
      </parameter>
      <!--日志级别-->
      <parameter>
        <parameterName value="@log_level"/>
        <dbType value="String"/>
        <size value="50"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%level"/>
        </layout>
      </parameter>
      <!--错误信息-->
      <parameter>
        <parameterName value="@exception"/>
        <dbType value="String"/>
        <size value="2000"/>
        <layout type="log4net.Layout.ExceptionLayout"/>
      </parameter>
      <!--日志信息-->
      <parameter>
        <parameterName value="@message"/>
        <dbType value="String"/>
        <size value="4000"/>
        <layout type="log4net.Layout.PatternLayout">
          <conversionPattern value="%message"/>
        </layout>
      </parameter>
    </appender>
    <root>
      <!--日志记录的类型-->
      <level value="All" />
      <!-- 启用保存到数据库-->
      <appender-ref ref="AdoNetAppender" />
    </root>
  </log4net>

4:

 <configSections>
     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
   </configSections>
   <log4net>
     <logger name="ConsoleAppender">
       <!--指定Log4.net第三个参数为StudyLog4net的则会执行ConsoleAppender下的配置-->
       <appender-ref ref="ConsoleAppender" />
     </logger>
     <!--定义输出到控制台命令行中-->
     <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
       <layout type="log4net.Layout.PatternLayout">
         <conversionPattern value="%d [%t] %-5p - %m%n" />
       </layout>
     </appender>
     <root>
       <!--日志记录的类型-->
       <level value="All" />
       <!--控制台控制显示日志-->
       <appender-ref ref="ConsoleAppender" />
     </root>
   </log4net>

常见的日志书写格式说明:

%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息

%n(new line):换行

%d(datetime):输出当前语句运行的时刻

%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数

%t(thread id):当前语句所在的线程ID

%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等

%c(class):当前日志对象的名称

%L:输出语句所在的行号

%F:输出语句所在的文件名

%-数字:表示该项的最小长度,如果不够,则用空格填充

Appender下的常用节点说明:

AdoNetAppender:利用ADO.NET记录到数据库的日志。

RollingFileAppender:将日志以回滚文件的形式写到文件中

ConsoleAppender:将日志输出到控制台。

FileAppender:将日志写到文件中。
AnsiColorTerminalAppender:在ANSI 窗口终端写下高亮度的日志事件。
AspNetTraceAppender:能用asp.net中Trace的方式查看记录的日志。
BufferingForwardingAppender:在输出到子Appenders之前先缓存日志事件。
EventLogAppender:将日志写到Windows Event Log.
LocalSyslogAppender:将日志写到local syslog service (仅用于UNIX环境下).
MemoryAppender:将日志存到内存缓冲区。
NetSendAppender:将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示。
RemoteSyslogAppender:通过UDP网络协议将日志写到Remote syslog service。
RemotingAppender:通过.NET Remoting将日志写到远程接收端。。
SmtpAppender:将日志写到邮件中。
TraceAppender:将日志写到.NET trace 系统。
UdpAppender:将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。

写文不易,转载请注明出处:http://www.cnblogs.com/zszs/p/5662603.html

Log4net(1):配置的简单说明的更多相关文章

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

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

  2. Win8.1下FreeImage.lib库的配置和简单使用(转)

    转自http://www.codeweblog.com/win8-1下freeimage-lib库的配置和简单使用/ 首先,你可以从这里获取FreeImage的完整库文件(访问密码 9a5e). 配置 ...

  3. LOG4NET日志配置及使用

    Log4net的安装 Install-Package log4net 1.先弄个日志记录的类 /// <summary> /// 使用LOG4NET记录日志的功能,在WEB.CONFIG里 ...

  4. log4net的配置与使用

    log4net解决的问题是在.Net下提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包括MS SQ ...

  5. 将Log4net的配置配置到的独立文件中

    本文转载:http://blog.csdn.net/wanzhuan2010/article/details/7587780 另外一篇博客:http://grim1980.blog.sohu.com/ ...

  6. Log4Net 日志配置[附带源码]

    前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录 ...

  7. 开源IDE CodeBlocks的下载安装、配置、简单编程

    如果没有集成开发环境(IDE),在linux下开发程序将非常繁琐,IDE是指将编辑.编译.调试等功能集成在一个桌面环境上,这样就大大方便了用户.IDE一般包括代码编辑器.编译器.调试器和图形界面用户工 ...

  8. Log4Net详细配置

    关于Log4Net配置主要分几步 第一步:下载log4net.dll(log4net官网:http://logging.apache.org/log4net/download_log4net.cgi) ...

  9. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

随机推荐

  1. excel 日期/数字格式不生效需要但双击才会生效的解决办法

    原因: Excel2007设置过单元格格式后,并不能立即生效必须挨个双击单元格,才能生效.数据行很多.效率太低. 原因:主要是一些从网上拷贝过来的日期或数字excel默认为文本格式或特殊-中文数字格式 ...

  2. IDE:Eclipse查看Servlet源码

    一.源码下载 1.打开tomcat官网:http://tomcat.apache.org/    , 点击右侧下载菜单(以tomcat-7为例)进入下载页面:http://tomcat.apache. ...

  3. POJ 1094 Sorting It All Out 拓扑排序 难度:0

    http://poj.org/problem?id=1094 #include <cstdio> #include <cstring> #include <vector& ...

  4. 【状压dp】【bitset】bzoj1688 [Usaco2005 Open]Disease Manangement 疾病管理

    vs(i)表示患i这种疾病的牛的集合. f(S)表示S集合的病被多少头牛患了. 枚举不在S中的疾病i,把除了i和S之外的所有病的牛集合记作St. f(S|i)=max{f(S)+((St|vs(i)) ...

  5. 谈谈自己对java的学习看法

    从明天起,开始整理java的基础知识,进行巩固学习. 今天呢,谈谈自己的一点想法.很多人不知道java怎么学,学什么,有的是直接在网上找一些视频来看,不懂的地方到处跑群里问,结果效果并不是太好,怎么办 ...

  6. 慕课网-安卓工程师初养成-2-11 Java常量

    来源:http://www.imooc.com/code/1256 所谓常量,我们可以理解为是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变. 语法:final 常量名 = 值; 程序中使 ...

  7. memcached for windows 修改端口和最大内存

    解压后只要在命令窗口中输入下面命令c:\memcached\memcached.exe -d install  就可以把memcached安装为windows服务了. 启动该服务后,memcached ...

  8. 双系统下利用MbrFix.exe卸载LINUX系统

    前言:  不少同学笔记本都装的有双系统,一般都是LIUNX和WINDOWS的两个系统(由于以前对电脑各种无知)装了双系统,再次,小编就不在阐述双系统地各种不便,再次就强调一下,假若要卸载LINUX的话 ...

  9. Spark RDD概念学习系列之RDD的checkpoint(九)

     RDD的检查点 首先,要清楚.为什么spark要引入检查点机制?引入RDD的检查点?  答:如果缓存丢失了,则需要重新计算.如果计算特别复杂或者计算耗时特别多,那么缓存丢失对于整个Job的影响是不容 ...

  10. 1493: [NOI2007]项链工厂

    线段树. 真还就是个线段树.. 除去操作1,2的话,线段树很容易就处理了,问题在于如何处理操作1和2.(这点没想到).. 我们用一个delta维护操作1,如果没有旋转就+k,不然就-k. 每次读入i和 ...