Log4net的一点改进
昨天把log4net更新了一下,发现从NUGET上安装log4net后,使用方式简化了许多。以前我在文章《log4net使用简介》中介绍过,使用log4net需要有两步前期准备工作:
- 在使用日志的类的名字空间前加上XmlConfiguratorAttribute标记
- 在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的一点改进的更多相关文章
- iScroll-5拉动刷新功能实现与iScroll-4上拉刷新的一点改进
近来在学习移动设备的应用开发,接触了jQuery mobile,在网上查阅相关资料时发现一个叫”iScroll“的小插件.其实这个iScroll插件跟jQuery mobile没有多大关系,并不是基于 ...
- x01.Weiqi.8: 一点改进
原来的代码全部删除,进行了深层次重构,得其意而忘其言.得意之处有二: 1.关于显示 以 StoneSize 属性为依托,在 set 中加了一句:Width = Height = m_StoneSize ...
- Winform(C#.NET)自动更新组件的使用及部分功能实现(一点改进功能)
接前两篇继续: Winform(C#.NET)自动更新组件的使用及部分功能实现 Winform(C#.NET)自动更新组件的使用及部分功能实现(续) 借鉴文章:http://www.cnblogs.c ...
- CoreText精彩文字轮廓绘制动画的一点改进
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原文在: http://oleb.net/blog/2010/ ...
- 对JavaBean创建的一点改进
在看了<Effective Java>Item2中对JavaBean的描述后,再结合Item1和Builder模式,遂想有没有其他方式避免JavaBean创建的线程安全问题呢? 以如下Ja ...
- VisualStudio使用GIT
使用GIT进行源码管理 -- 在VisualStudio中使用GIT GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这 ...
- 改进基于Boost.Asio的聊天服务
Boost.Asio是个非常易用的C++异步网络库,官方文档中一个示例是聊天服务,分为chat_message.chat_client.chat_server三个部分.chat_server的启动代码 ...
- python基础之面对对象
Python3 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触 ...
- 一个ERP项目实施工程师的若干体会
本人在多年的工作中,参与了ERP的研发和实施,对ERP有较深的认识.在这里,根据自已的实施过程中的一些经历,把自已在实践中的一些体会贡献出来和大家共享,由于时间和精力所限,内容难免有不当之处,挂一漏万 ...
随机推荐
- IE7下面iframe滚动条无法用鼠标轮滚 其他浏览器可以
1.让 IFRAME 隐藏滚动条,通常的做法就是在嵌入 IFRAME 的页面的 CSS 中指定以下规则: html, body {overflow: hidden} 2.如果只是想隐藏横向滚 ...
- 在一个Ubuntu系统上配置Apache支持多个站点
查看原文请访问:http://codewenda.com/ubuntu16-04%E9%85%8D%E7%BD%AEapache%E6%94%AF%E6%8C%81%E5%A4%9A%E4%B8%AA ...
- HIbernate学习笔记1 之 简介
一.Hibernate的概念 hibernate是数据访问层的框架,对JDBC进行了封装,是针对数据库访问提出的面向对象的解决方案.使用它可以直接访问对象,自动将此访问转换为SQL执行,从而达到间接访 ...
- mac date命令
usage: date [-jnu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ... [-f fmt date | [[[mm]dd ...
- Python Flask SQLALchemy基础知识
一.介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并 ...
- SQLiScanner:又一款基于SQLMAP和Charles的被动SQL 注入漏洞扫描工具
https://blog.csdn.net/qq_27446553/article/details/52610095
- IPV4网段划分
IPV4的地址分类及网络号的范围如下: A类地址 (1)A类地址第1字节为网络地址,其它3个字节为主机地址. (2)A类地址范围:1.0.0.1—126.255.255.254 (3)A类地址中的私有 ...
- 探索"+"的原本
躺了一会,回忆以前看过的一些描述"原本"的知识,突然想到简单的数学运算1+1=2,在程序设计里的原本是什么呢,想到这里,不睡了,按照前人的指引,我也来探索一下阿 (以下代码使用C# ...
- Mysql Sql Explain
1.使用mysql explain的原因 在我们php程序员的日常写代码中,有时候会发现我们写的sql语句运行的特别慢,导致响应时间特别长,这种情况在高并发的情况下,我们的网站会直接崩溃,为什么双十一 ...
- 543. Diameter of Binary Tree【Easy】【二叉树的直径】
Given a binary tree, you need to compute the length of the diameter of the tree. The diameter of a b ...