昨天把log4net更新了一下,发现从NUGET上安装log4net后,使用方式简化了许多。以前我在文章《log4net使用简介》中介绍过,使用log4net需要有两步前期准备工作:

  1. 在使用日志的类的名字空间前加上XmlConfiguratorAttribute标记
  2. 在app.config中添加配置文件

这两步操作还是很容易出错的,很多人经常是配置了后仍然发现没有日志输出,又不知道到底是哪儿错了而苦恼无比。新版本的log4net则自动进行了这两步配置。

    1. 自动添加全局XmlConfiguratorAttribute标记

   

    2. 自动添加一个默认的Console-Appender

<?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <configSections>
            <section
name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        </configSections>
            <startup>
                    <supportedRuntime
version="v4.0"
sku=".NETFramework,Version=v4.5" />
            </startup>
        <log4net>
            <appender
name="ConsoleAppender"
type="log4net.Appender.ConsoleAppender">
                <layout
type="log4net.Layout.PatternLayout">
                    <conversionPattern
value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
                </layout>
            </appender>
            <root>
                <level
value="INFO" />
                <appender-ref
ref="ConsoleAppender" />
            </root>
        </log4net>
    </configuration>

这样,什么都不干,即可直接使用log4net在控制台中输出log了,非常方便。

Log4net的一点改进的更多相关文章

  1. iScroll-5拉动刷新功能实现与iScroll-4上拉刷新的一点改进

    近来在学习移动设备的应用开发,接触了jQuery mobile,在网上查阅相关资料时发现一个叫”iScroll“的小插件.其实这个iScroll插件跟jQuery mobile没有多大关系,并不是基于 ...

  2. x01.Weiqi.8: 一点改进

    原来的代码全部删除,进行了深层次重构,得其意而忘其言.得意之处有二: 1.关于显示 以 StoneSize 属性为依托,在 set 中加了一句:Width = Height = m_StoneSize ...

  3. Winform(C#.NET)自动更新组件的使用及部分功能实现(一点改进功能)

    接前两篇继续: Winform(C#.NET)自动更新组件的使用及部分功能实现 Winform(C#.NET)自动更新组件的使用及部分功能实现(续) 借鉴文章:http://www.cnblogs.c ...

  4. CoreText精彩文字轮廓绘制动画的一点改进

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原文在: http://oleb.net/blog/2010/ ...

  5. 对JavaBean创建的一点改进

    在看了<Effective Java>Item2中对JavaBean的描述后,再结合Item1和Builder模式,遂想有没有其他方式避免JavaBean创建的线程安全问题呢? 以如下Ja ...

  6. VisualStudio使用GIT

    使用GIT进行源码管理 -- 在VisualStudio中使用GIT GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这 ...

  7. 改进基于Boost.Asio的聊天服务

    Boost.Asio是个非常易用的C++异步网络库,官方文档中一个示例是聊天服务,分为chat_message.chat_client.chat_server三个部分.chat_server的启动代码 ...

  8. python基础之面对对象

    Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...

  9. 一个ERP项目实施工程师的若干体会

    本人在多年的工作中,参与了ERP的研发和实施,对ERP有较深的认识.在这里,根据自已的实施过程中的一些经历,把自已在实践中的一些体会贡献出来和大家共享,由于时间和精力所限,内容难免有不当之处,挂一漏万 ...

随机推荐

  1. 使用 Visual Studio 部署 .NET Core 应用

    可将 .NET Core 应用程序部署为依赖框架的部署或独立部署,前者包含应用程序二进制文件,但依赖目标系统上存在的 .NET Core,而后者同时包含应用程序和 .NET Core 二进制文件. 有 ...

  2. cookies保存购物车数据的编码问题(pickle和base64)

    在保存cookies时,如果存在着中文字符,cookies保存会报错.所以需要对数据进行编码. 通常cookies的保存都是以Base64来保存.所以先要对数据编码成bytes,再编码成base64字 ...

  3. Oracle11g常用的命令

    cmd H: cd H:\oracle\product\\Db_1\BIN exp jz/jz file=C:/QS-BF20131017.dmp (备份) imp jz/jz file=C:/BF2 ...

  4. 三:ZooKeeper的ZAB协议

    一:ZAB协议概述--->ZooKeeper并没有完全采用Paxos算法,而是使用了一种称为ZooKeeper Atomic Broadcast(ZAB,zookeeper原子消息广播协议)的协 ...

  5. python IDE的配置

    本人使用过的两款,系统环境ubuntukylin 15.04 jupyter 主要参考:ref1 和 ref2 遇到问题: error: [I 21:48:41.947 NotebookApp] Wr ...

  6. 从(0)新开始vue2.0【安装】

    安装node:测试安装结果:node -v 安装cnpm(如果你可以***,可以不安装) 安装webpack:npm install webpack -g npm install vue-cli -g ...

  7. jquery键盘常见事件

    一.在看jquery的时候有几个常见的键盘事件,我写在这里: 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来 ...

  8. php-cgi segmentation fault nginx

    谷歌.百度了一堆后,无果. yum安装软件也报segmentation fault 果断重装系统吧

  9. ngx_lua_waf完整安装说明

    测试环境:centos5.6 x32,nginx1.4.4,LuaJIT-2.0.3,ngx_devel_kit-0.2.19.lua-nginx-module-0.9.11,ngx_lua_waf ...

  10. 【bzoj1132】[POI2008]Tro 计算几何

    题目描述 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 输入 第一行给出数字N,N在[3,3000] 下面N行给出N个点的坐标,其值在[0,10000] 输出 保留 ...