当前位置: 首页 > news >正文

在线做网站教程百度下载并安装

在线做网站教程,百度下载并安装,成人服装设计培训机构,搭建网站公司排行榜一. Log4Net简介Log4net是从Java中的Log4j迁移过来的一个.Net版的开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt文件、内存缓冲区、邮件、控制台、ANSI…

一. Log4Net简介

Log4net是从Java中的Log4j迁移过来的一个.Net版的开源日志框架,它的功能很强大,可以将日志分为不同的等级,以不同的格式输出到不同的存储介质中,比如:数据库、txt文件、内存缓冲区、邮件、控制台、ANSI终端、远程接收端等等,我们这里主要介绍最常用的两种:txt文件和数据库。

(PS:其它的存储介质详见 http://logging.apache.org/log4net/release/config-examples.html)

Log4net将日志分为五个级别,分别是: FATAL(致命错误) > ERROR(一般错误) > WARN(警告) > INFO(一般信息) > DEBUG(调试信息),每个级别都对应着一组重载方法进行调用。

官网地址:http://logging.apache.org/log4net/index.html

Nuget地址:https://www.nuget.org/packages/log4net/

Nuget安装:Install-Package log4net

最新版本:2.0.8 (2018-08-09)

本节主要围绕两个主要的存储介质:【txt文件】和【SQLServer数据库】展开,涵盖的知识点有:

①. 基本的使用步骤。

②. 初始化关联配置文件的几种形式。

③. 代码调用详解。

④. 配置文件详解。

⑤. 简单的封装和在MVC框架中的调用。

二. 基本使用步骤

我们先以控制台程序为例,简单介绍Log4net存储日志到txt文本文档中,后面在做代码的详解。

1. 新建01-SimpleDemo控制台程序,通过指令 【Install-Package log4net】安装相应程序集。

c9759a0faa91296d353d21bbcfb49e0a.png

2. 在默认配置文件中App.config(B/S程序则为web.config)中进行配置,主要分两块:

A. 在节点下新增节点下新增(要在其最顶部):

B. 在根节点下,配置log4net的核心配置代码, 主要节点如下:

详细代码如下:

 1 <?xml version="1.0" encoding="utf-8" ?> 2  3  4  5  6  7  8   9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25  26 27 28 29  30 31 32 33 34 

3. 代码调用

1 log4net.Config.XmlConfigurator.Configure();2 ILog log = LogManager.GetLogger("test");3 log.Debug("调试信息");

4. 运行结果

52bafa8316063a80932ab65188d1abdd.png

截止此处,日志保存成功。

三. 初始化配置文件

 前面提到在默认配置文件中App.config(B/S程序则为web.config)中进行配置,可以通过代码 log4net.Config.XmlConfigurator.Configure(); 来初始化配置,或者还可以通过 [assembly: log4net.Config.XmlConfigurator()] 反射的形式进行初始化配置,二者可以达到同样的效果,代表了两种初始化配置文件的形式。

PS: [assembly: log4net.Config.XmlConfigurator()] 可以加在 当前使用文件的 namespace上作用于当前文件,或者加在Properties/AssemblyInfo.cs中,则该项目全局都无须再初始化了。

6d2e67133a3005815484d760dd2c785e.png
da34e24957e54b678499a44b4415b226.png

在实际项目中,默认的配置文件里可能包含很多框架的信息,这个时候把 log4net的配置代码再放入进去,就会显得有点杂乱,或者有些“奇葩”的人把默认配置文件改名了,这个时候使用上述默认的两种方式就不好用了,那么这种情况怎么处理呢?

这里重点介绍 通过 log4net.Config.XmlConfigurator.Configure(); 来关联配置文件。

情况一: 使用默认配置文件的情况

1. 代码配置:log4net.Config.XmlConfigurator.Configure();

2. 反射配置:[assembly: log4net.Config.XmlConfigurator()]

(这里只是举例,很少有修改默认配置文件名称的)

1. 代码配置: 首先将App1.config文件的属性中的“生成操作”改为“ 嵌入的资源”,然后通过以下代码进行配置。

1 Assembly assembly = Assembly.GetExecutingAssembly();2 var xml = assembly.GetManifestResourceStream("_01_SimpleDemo.App1.config");3 log4net.Config.XmlConfigurator.Configure(xml);

注:代码中的 _01_SimpleDemo 为命名空间名。

2. 反射配置:[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml")]

  注:用这种方式属性中的:复制到输出目录需要改为:始终复制,生成操作不需要配置,使用默认:无 即可

96223768a03aac0e430354e4579ec577.png

情况三:新建单独xml文件,进行log4net的配置 (推荐采用这种方式,和原配置文件区分开,单独配置方便,处理方式和情况二是一致的)

1. 代码配置:首先将log4net.xml文件的属性中的“生成操作”改为“ 嵌入的资源”,然后通过以下代码进行配置。

1 Assembly assembly = Assembly.GetExecutingAssembly();2 var xml = assembly.GetManifestResourceStream("_01_SimpleDemo.log4net.xml");3 log4net.Config.XmlConfigurator.Configure(xml);

注:代码中的 _01_SimpleDemo 为命名空间名。

情况四:无论是修改默认配置文件的名称为 或者 新建单独的xml作为配置文件 → 可以通过绝对路径的方式进行处理 【不推荐这种方式】

1. 直接写绝对路径 (注意这种方式【不需要】配置文件属性为 “嵌入的资源”)

1 log4net.Config.XmlConfigurator.Configure(new FileInfo(@"D:06-我的开发之路DotNet体系05-DotNet框架篇03-Log4net详解Code01-SimpleDemolog4net.xml"));

2 通过代码获取绝对路径 (注意这种方式【不需要】配置文件属性的“生成操作”改为 “嵌入的资源”,但需要改为“始终复制”,确保输出到bin文件下)

1 string assemblyFilePath = Assembly.GetExecutingAssembly().Location;2 string assemblyDirPath = Path.GetDirectoryName(assemblyFilePath);3 string configFilePath = assemblyDirPath + " //log4net.xml";4 log4net.Config.XmlConfigurator.Configure(new FileInfo(configFilePath));

PS:B/S程序下通过 log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~") + @"/log4net.xml")); 来配置。

四. 代码调用详解

Log4net允许多个ILog对象同时存在,通过代码:ILog log = LogManager.GetLogger("xxx"); 来创建。

A: 日志级别由高到低分别为:FATAL(致命错误) > ERROR(一般错误) > WARN(警告) > INFO(一般信息) > DEBUG(调试信息),另外还有 OFF和 ALL 。

几点说明:OFF表示所有信息都不写入,ALL表示所有信息都写入,我们也可以通过: level >这样配置,表示WARN级别以及高于WARN以上的级别才会被写入日志

B: 写入日志的方法有:Debug、Error、Fatal、Info、Warn五个方法,每个方法都有两个重载,如下图:

fb56daeef449a42250392a5214b0fdd4.png

分享在使用配置文件为log4net.xml的情况下的调用代码:

 1 Assembly assembly = Assembly.GetExecutingAssembly(); 2 var xml = assembly.GetManifestResourceStream("_01_SimpleDemo.log4net.xml"); 3 log4net.Config.XmlConfigurator.Configure(xml); 4 ILog log = LogManager.GetLogger("test"); 5 log.Debug("调试信息"); 6 log.Info("一般信息"); 7 log.Warn("警告"); 8 try 9 {10 int.Parse("ddd");11 }12 catch (Exception ex)13 {14 log.Error("一般错误
http://www.wooajung.com/news/34232.html

相关文章:

  • 网站建设 手机网站西安关键词排名首页
  • 网站备案个人可以做吗百度云网盘入口
  • 哪个医学网站大夫可以做离线题自己怎么搭建网站
  • 成都网站建设 四川冠辰网站建设网络技术推广服务
  • 做网站会用到的代码单词搜索引擎站长平台
  • 一学一做看视频网站营销型网站建设总结
  • 网站附件下载表格怎么做安徽seo网络优化师
  • 58同城建网站怎么做一件代发48个货源网站
  • 免费设计素材的网站最新新闻热点素材
  • 建网站发信息做推广sem账户托管公司
  • 哈尔滨网站设计公司销售清单软件永久免费版
  • 做写真图片网站合法吗广州seo网站排名
  • 建设部网站 43号文件合肥seo服务商
  • 专业网站建站费用网址百度刷排名
  • 工装设计网站推荐福州seo
  • 北京网站建设 云智互联手机端搜索引擎排名
  • 深圳做app网站的公司名称合肥做网站哪家好
  • 南宁网站开发企业百度推广服务费3000元
  • 本地网页如何发布淘宝seo 优化软件
  • 江西建网站做优化推广普通话手抄报模板可打印
  • 可商用图片素材网站百度客服在线客服入口
  • 怀化住建部网站西安百度爱采购推广
  • 自己用自己电脑做网站空间收录优美图片app
  • 南昌大型网站制作外贸推广引流
  • 信融科技做网站推广可靠吗关键词排名怎么查
  • dw网站结构图怎么做app推广好做吗
  • 德州网站推广建站公司网站源码
  • 如何用word做网站seo的含义是什么意思
  • 做电商网站的步骤站长seo查询
  • 阳泉住房和城乡建设部网站宁波百度seo点击软件