如果项目上过线的话,那你一定知道Log是多么重要。为什么说Log重要呢?因为上线项目不允许你调试,你只能通过Log来分析问题。这时打一手好Log的重要性绝不亚于写一手好代码。项目出问题时,你要能拿出Log证明自己负责的部分没有问题,如果是自己的问题,要从Log里快速找出错误原因。如果没有从Log里找出错误原因,那一定是一件很悲催的事情,特别是在bug不容易重现的情况下。那简直就是叫天天不灵,叫地地不应啊。
1、百科
log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具,Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。关于对Log4j详细的介绍,请点这里。
2、优点
几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。
3、结构
log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appender(附着器)以及 Layout(布局).
关于结构的详情讲解,将在下文中进行。
4、使用
有些朋友估计已经看过很多Log4Net的文章了,说必须如何如何配置,为了纠正这个观点,下面一个简单的例子,不做任何配置,直接使用Log4Net。
可以去http://logging.apache.org/log4net/ 下载Log4Net的源代码,下载之后把log4net.dll引入项目即可。
现在我们尝试使用一下log4net,新建一个【控制台应用程序】
示例1-----日志输出到控制台
namespace DoNet.Seven.ConsoleApplicationTest { class Program { static void Main(string[] args) { log4net.Config.BasicConfigurator.Configure(); ILog log = LogManager.GetLogger("DoNet.Seven.ConsoleApplicationTest.Propram"); log.Debug("debug"); log.Info("info"); Console.ReadKey(); } } }