分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

log4net基础学习

发布时间:2023-09-06 01:10责任编辑:胡小海关键词:暂无标签

  log4net是一个功能著名的开源日志记录组件。利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中。并且我们还可以记载控制要记载的日志级别,可以记载的日志类别包括:FATAL(致命错误)、ERROR(一般错误)、WARN(警告)、INFO(一般信息)、DEBUG(调试信息)。

    log4net目前下载地址:http://logging.apache.org/log4net/download_log4net.cgi?Preferred=http%3A%2F%2Fmirror.bit.edu.cn%2Fapache%2F

  点击下载压缩包之后将log4net.dll文件拷贝到项目中引用即可。其他具体的操作详见log4net-sdk-2.0.8.chm,具体界面如下:。

  程序演示:

  config文件修改

 1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 ??<configSections> 4 ????<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> 5 ??</configSections> 6 ??<appSettings> 7 ??</appSettings> 8 ??<log4net> 9 ????<!--定义输出到文件中-->10 ????<appender name="LogFileAppender" type="log4net.Appender.FileAppender">11 ??????<!--定义文件存放位置-->12 ??????<file value="F:\我的博客\9.12\log4net\程序演示\log4net_test\log4net_test\日志文件\Log[%property{LogFileName}].txt" />13 ??????<appendToFile value="true" />14 ??????<!--<rollingStyle value="Date" />15 ??????<datePattern value="yyyyMMdd-HH:mm:ss" />-->16 ??????17 ??????<layout type="log4net.Layout.PatternLayout">18 ????????<!--每条日志末尾的文字说明-->19 ????????<footer value="by 墨染" />20 ????????<!--输出格式-->21 ????????<!--样例:2008-03-26 13:42:32,111 [10] INFO ?Log4NetDemo.MainClass [(null)] - info-->22 ????????<conversionPattern value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger property:[%property{NDC}] - 错误描述:%message%newline" />23 ??????</layout>24 ????</appender>25 ????<!--定义输出到控制台命令行中-->26 ????<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">27 ??????<layout type="log4net.Layout.PatternLayout">28 ????????<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />29 ??????</layout>30 ????</appender>31 ????<!--定义输出到windows事件中-->32 ????<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">33 ??????<layout type="log4net.Layout.PatternLayout">34 ????????<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />35 ??????</layout>36 ????</appender>37 ????<!--定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb-->38 ????<appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">39 ??????<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />40 ??????<commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />41 ??????<!--定义各个参数-->42 ??????<parameter>43 ????????<parameterName value="@logDate" />44 ????????<dbType value="String" />45 ????????<size value="240" />46 ????????<layout type="log4net.Layout.PatternLayout">47 ??????????<conversionPattern value="%date" />48 ????????</layout>49 ??????</parameter>50 ??????<parameter>51 ????????<parameterName value="@thread" />52 ????????<dbType value="String" />53 ????????<size value="240" />54 ????????<layout type="log4net.Layout.PatternLayout">55 ??????????<conversionPattern value="%thread" />56 ????????</layout>57 ??????</parameter>58 ??????<parameter>59 ????????<parameterName value="@logLevel" />60 ????????<dbType value="String" />61 ????????<size value="240" />62 ????????<layout type="log4net.Layout.PatternLayout">63 ??????????<conversionPattern value="%level" />64 ????????</layout>65 ??????</parameter>66 ??????<parameter>67 ????????<parameterName value="@logger" />68 ????????<dbType value="String" />69 ????????<size value="240" />70 ????????<layout type="log4net.Layout.PatternLayout">71 ??????????<conversionPattern value="%logger" />72 ????????</layout>73 ??????</parameter>74 ??????<parameter>75 ????????<parameterName value="@message" />76 ????????<dbType value="String" />77 ????????<size value="240" />78 ????????<layout type="log4net.Layout.PatternLayout">79 ??????????<conversionPattern value="%message" />80 ????????</layout>81 ??????</parameter>82 ????</appender>83 ????<!--定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。-->84 ????<root>85 ??????<!--文件形式记录日志-->86 ??????<appender-ref ref="LogFileAppender" />87 ??????<!--控制台控制显示日志-->88 ??????<appender-ref ref="ConsoleAppender" />89 ??????<!--Windows事件日志-->90 ??????<appender-ref ref="EventLogAppender" />91 ??????<!-- 如果不启用相应的日志记录,可以通过这种方式注释掉92 ??????<appender-ref ref="AdoNetAppender_Access" />93 ??????-->94 ????</root>95 96 ??</log4net>97 </configuration>
View Code

  主要输出代码:

 1 using log4net; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Reflection; 6 using System.Text; 7 using System.Threading.Tasks; 8 ?9 //注意加上下面的语句,指定log4net使用.config文件来读取配置信息10 [assembly: log4net.Config.XmlConfigurator(Watch = true)]11 namespace log4net_test12 {13 ????class Program14 ????{15 ????????static void Main(string[] args)16 ????????{17 ????????????DateTime currentTime = DateTime.Now;18 ????????????log4net.GlobalContext.Properties["LogFileName"] =currentTime.ToString("yyyyMMdd");19 ????????????ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);20 ????????????log.Info("程序已经启动");21 ????????????log.Error("程序出现异常错误");22 ????????????log.Debug("debug");23 ????????????log.Warn("warn");24 ????????????Console.ReadKey();25 ????????}26 ????}27 }
View Code

  输出:

  日志文件:

log4net基础学习

原文地址:http://www.cnblogs.com/lsbk/p/7509489.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved