一、开发环境

编译器:VS2013

.Net版本:4.5

二、开发流程

1.从nuget上获取log4net

2.配置log4net的配置文件

  1 <?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3
4 <configSections>
5 <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
6 </configSections>
7
8 <log4net debug="false">
9 <root>
10 <level value="ALL"/>
11 <appender-ref ref="UserLogAppender"/>
12 <appender-ref ref="SystemLogAppender"/>
13 </root>
14 <!--信息日志-->
15 <appender name="UserLogAppender" type="log4net.Appender.RollingFileAppender,log4net">
16 <!--日志路径-->
17 <file value="./Log/"/>
18 <!--日志名格式:20151113_user.log-->
19 <param name="DatePattern" value="yyyyMMdd&quot;_user.log&quot;"/>
20 <!--是否是向文件中追加日志-->
21 <param name="AppendToFile" value="true"/>
22 <!--log保留天数-->
23 <param name="MaxSizeRollBackups" value="10"/>
24 <!--log最大文件大小-->
25 <param name="MaximumFileSize" value="5MB"/>
26 <!--日志文件名是否固定不变的-->
27 <param name="StaticLogFileName" value="false"/>
28 <!--日志根据XX滚动-->
29 <param name="RollingStyle" value="Composite"/>
30 <!--布局-->
31 <layout type="log4net.Layout.PatternLayout,log4net">
32 <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
33 <param name="Header" value=""/>
34 </layout>
35 <filter type="log4net.Filter.LevelRangeFilter">
36 <param name="LevelMin" value="INFO"/>
37 <param name="LevelMax" value="INFO"/>
38 </filter>
39 </appender>
40 <!--警告,注意,通知,错误日志-->
41 <appender name="SystemLogAppender" type="log4net.Appender.RollingFileAppender,log4net">
42 <file value="./Log/"/>
43 <param name="File" value="Log\log_sys.log" />
44 <param name="DatePattern" value="yyyyMMdd&quot;_sys.log&quot;"/>
45 <param name="AppendToFile" value="true"/>
46 <param name="RollingStyle" value="Composite"/>
47 <param name="MaxSizeRollBackups" value="10"/>
48 <param name="MaximumFileSize" value="5MB"/>
49 <param name="StaticLogFileName" value="false"/>
50 <layout type="log4net.Layout.PatternLayout,log4net">
51 <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n"/>
52 <param name="Header" value=""/>
53 </layout>
54 <filter type="log4net.Filter.LevelRangeFilter">
55 <param name="LevelMin" value="ERROR"/>
56 <param name="LevelMax" value="ErrOR"/>
57 </filter>
58 </appender>
59 </log4net>
60
61 </configuration>

3.在AssembInfo.cs中添加信息

[assembly :log4net.Config.XmlConfigurator(Watch = true)]

4.控制台程序

namespace Demo.Log4Net
{
class Program
{
static void Main(string[] args)
{
ILog log = LogManager.GetLogger(typeof(LogHelper));
log.Info("info");
log.Error("error"); Console.ReadKey();
}
}
}

Log4Net学习笔记(1)-完整的例子的更多相关文章

  1. Quartz.Net学习笔记(1)-完整的例子

    一.开发环境 系统:Win10 编译器:VS2013 .Net版本:4.5 Quartz版本:2.3.3 二.涉及程序集 Common.Logging.Core.dll Common.Logging. ...

  2. [转载]Log4net学习笔记

    Log4net 学习笔记: 主要是根据apache站点整理的: 原文链接:http://logging.apache.org/log4net/release/sdk/ http://logging.a ...

  3. log4net学习笔记

    一直想找一个好用的日子类,今天偶然的机会看到了log4net这个类库,过来学习一下. log4net是.NET框架下的一个日子类库,官网是http://logging.apache.org/log4n ...

  4. Vue2.x源码学习笔记-从一个小例子查看vm实例生命周期

    学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看 ...

  5. 大数据学习笔记——Linux完整部署篇(实操部分)

    Linux环境搭建完整操作流程(包含mysql的安装步骤) 从现在开始,就正式进入到大数据学习的前置工作了,即Linux的学习以及安装,作为运行大数据框架的基础环境,Linux操作系统的重要性自然不言 ...

  6. Java-马士兵设计模式学习笔记-观察者模式-AWT简单例子

    1.AWT简单例子 TestFrame.java import java.awt.Button; import java.awt.Frame; import java.awt.event.Action ...

  7. asp.net MVC日志插件Log4Net学习笔记二:保存日志到sqlserver的配置

    1.写到sqlserver的配置: <!--保存到SQLSERVER数据库日志--> <log4net> <appender name="AdoNetAppen ...

  8. asp.net MVC日志插件Log4Net学习笔记一:保存日志到本地

    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过lo ...

  9. log4net 学习笔记

    记入最基本的用法 : refer : http://www.cnblogs.com/aehyok/archive/2013/05/07/3066010.html <configuration&g ...

随机推荐

  1. [bzoj2150]部落战争_二分图最小路径覆盖

    部落战争 bzoj-2150 题目大意:题目链接. 注释:略. 想法: 显然是最小路径覆盖,我们知道:二分图最小路径覆盖等于节点总数-最大匹配. 所以我们用匈牙利或者dinic跑出最大匹配,然后用总结 ...

  2. LENOVO System x3850 X6

    http://appserver.lenovo.com.cn/Lenovo_Series_List.aspx?CategoryCode=A31B01

  3. ubuntu12.04+cuda6.0+opencv2.4.9

    更新了cuda之后,opencv的gpu模块又要重新编译了,这个地方有一个疑问,我对cuda6.0装了两次,第一次装好之后,没有配一个bumblebee,重装了cuda6.0之后,发现原来编译的ope ...

  4. Django学习系列之结合ajax

    AJAX简介 什么是AJAX AJAX = 异步JavaScript 和 XML(Asynchronous JavaScript and XML) 通过在后台于服务器进行少量数据交换,AJAX可以使网 ...

  5. Ckeditor通过Ajax更新数据

    之前在表单中对ckeditor的赋值就直接是 $("#theadEditor").val(result); 而如今我想通过点击不同选项来使用Ajax在后台訪问数据.对ckedito ...

  6. org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does not

    遇到这个问题之前,我去百度和谷歌去搜索了一下.发现各种说法.可是针对我的项目而言,也就是公司的项目而言,这个问题的根源并不是是网上所说的那样. 最后是通过自己的想法做測试得到了解决. 1.首先说说我的 ...

  7. oracle 11g GRID 中 关于 OLR 须要知道的一些内容

     oracle 11g GRID 中 关于 OLR 须要知道的一些内容 1.检查olr 的状态: [root@vmrac1 ~]# ocrcheck -local Status of Oracle ...

  8. 从编译器源代码中提取ARMv8的指令编码

    2012年11月份的资料,之前ARMv8手冊还没公布,我想办法从编译器的binutils中提取出了全部ARMv8指令的二进制编码,之前不能随便发,如今相当于解禁了^_^. 问题1:提取ARMv8的指令 ...

  9. COCOS学习笔记--即时动作ActionInstant

    Cocos引擎中的动作类的关系图例如以下: 能够看出,Action是继承自Ref类的,之前我的博客中也有讲过,Ref类是cocos2dx全部类的基类.动作类(Action)是全部动作的基类.它通过cr ...

  10. tf.image.resize_bilinear 图像缩放,双线性插值-图像中心对齐

    http://www.cnblogs.com/yssongest/p/5303151.html 双线性插值算法及需要注意事项 input = tf.placeholder(tf.float32, sh ...