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

丰台区网站建设内蒙古网站seo

丰台区网站建设,内蒙古网站seo,网站导航设计技巧,怎样自己做网站模板0、引言 在开始本文之前,推荐您首先阅读 Apache log4net™ 手册中有关 介绍 与 配置 的相关内容。本文将通过实践分别为您演示如何使用 Visual Studio 2022 在 .NET Framework 项目和 .NET 项目下配置并使用 Log4Net。 1、为 .NET Framework 项目配置 Log4Net 1.1…

0、引言

在开始本文之前,推荐您首先阅读 Apache log4net™ 手册中有关 介绍 与 配置 的相关内容。本文将通过实践分别为您演示如何使用 Visual Studio 2022 在 .NET Framework 项目和 .NET 项目下配置并使用 Log4Net。

1、为 .NET Framework 项目配置 Log4Net

1.1、先决条件

  • 一个简单的 .NET Framework 项目(比如:控制台应用(.NET Framework))

1.2、引用 Log4Net NuGet 包

  1. 在 1.1 小节中,笔者创建了一个新的 .NET Framework 控制台项目。解决方案名称为 “Log4NetDemo”, 项目名称为 “ConsoleApp4DotNetFramework”:
    项目资源

    项目目标框架为 .NET Framework 4.8.1

  2. 前往 Visual Studio 菜单栏的【工具】-【NuGet 包管理器】-【管理解决方案的 NuGet 程序包】:
    管理 NuGet 包

  3. 在打开的标签页中切换到【浏览】页面,搜索 “Log4Net” 并选中;在右方的配置页面勾选要安装的项目,点击【安装】按钮:
    安装 log4net NuGet 包

  4. 安装完成后,可以看到解决方案资源管理器内新增了一个 package.config 文件:
    新增 packages.config
    内容如下:
    packages.config 文件内容

1.3、配置 Log4Net

  1. 完成 1.2 小节的内容后,在解决方案资源管理器内右击项目名称,点击【添加】-【新建项】。在打开的对话框中搜索找到“应用程序配置文件” C# 项,修改文件名为 log4net.config,点击【添加】:
    添加配置文件

  2. 在解决方案资源管理器内右击 log4net.config,点击【属性】,将“复制到输出目录”属性的值修改为“如果较新则复制”:
    修改属性

  3. 双击打开 log4net.config 文件,将其修改为以下内容并保存:

    <?xml version="1.0" encoding="utf-8" ?>
    <log4net><!-- 定义一个控制台 appender --><appender name="Console" type="log4net.Appender.ConsoleAppender"><!-- 日志输出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /></layout></appender><!-- 定义一个文件 appender --><appender name="RollingFile" type="log4net.Appender.RollingFileAppender"><!-- 保存文件的名称 --><file value="example.log" /><appendToFile value="true" /><!-- 文件的编码方式 --><param name="Encoding" value="UTF-8"/><!-- 每个文件的大小 --><maximumFileSize value="100KB" /><!-- 保存文件数量 --><maxSizeRollBackups value="2" /><!-- 日志输出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%level %thread %logger - %message%newline" /></layout></appender><!-- 定义 root logger 的配置 --><root><!-- 定义 root logger 的日志级别 --><level value="ALL" /><!-- 引用 Console appender --><appender-ref ref="Console" /><!-- 引用 RollingFile appender --><appender-ref ref="RollingFile" /></root>
    </log4net>
    
  4. 在解决方案资源管理器内展开项目下的 Properties 属性文件夹,可以看到下属有一个 AssemblyInfo.cs 的文件,双击打开该文件:
    打开 AssemblyInfo.cs

  5. 在该文件的末尾附加如下内容并保存:

    // 指定log4net 的配置文件
    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
    

1.4、测试 Log4Net

  1. 在解决方案资源管理器内双击打开 Program.cs,将其修改为以下内容并保存:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;namespace ConsoleApp4DotNetFramework
    {internal class Program{// 定义一个静态 logger 变量,其引用名为 "Program" 的 Logger 实例private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));static void Main(string[] args){log.Debug("开始调试");log.Info("Entering application.");log.Warn("警告");log.Error("错误", new Exception("异常信息"));log.Fatal("致命错误", new Exception("异常信息"));Console.ReadKey();}}
    }
    
  2. 运行项目,将得到以下输出:
    输出

  3. 在应用程序的基目录将会生成一个名为 example.log 的日志文件,内容如下:
    日志文件

2、为 .NET 项目配置 Log4Net

2.1、先决条件

  • 一个简单的 .NET 项目(比如:使用 Visual Studio 创建 .NET 控制台应用程序)。

2.2、引用 Log4Net NuGet 包

  1. 在 2.1 小节中,笔者在解决方案 “Log4NetDemo” 中继续新建了一个 .NET 控制台项目, 项目名称为 “ConsoleApp4DotNet”。设置该项目为启动项目:
    项目资源

    目标框架为 .NET 6.0

  2. 前往 Visual Studio 菜单栏的【工具】-【NuGet 包管理器】-【管理解决方案的 NuGet 程序包】:
    管理 NuGet 包

  3. 在打开的标签页中切换到【已安装】页面,选中 “Log4Net”;在右方的配置页面勾选要安装的项目,点击【安装】按钮:
    安装 log4net NuGet 包

  4. 安装完成后,在解决方案资源管理器内双击项目名称打开项目(.csproj)文件,可以看到项目文件中添加了对 Log4Net NuGet 包的引用:
    PackageReference

    package.config or PackageReference?

2.3、配置 Log4Net

  1. 完成 2.2 小节的内容后,在解决方案资源管理器内右击项目名称,点击【添加】-【新建项】。在打开的对话框中搜索找到“应用程序配置文件” C# 项,修改文件名为 log4net.config,点击【添加】:
    添加配置文件

  2. 在解决方案资源管理器内右击 log4net.config,点击【属性】,将“复制到输出目录”属性的值修改为“如果较新则复制”:
    修改属性

  3. 双击打开 log4net.config 文件,将其修改为以下内容并保存:

    <?xml version="1.0" encoding="utf-8" ?>
    <log4net><!-- 定义一个控制台 appender --><appender name="Console" type="log4net.Appender.ConsoleAppender"><!-- 日志输出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" /></layout></appender><!-- 定义一个文件 appender --><appender name="RollingFile" type="log4net.Appender.RollingFileAppender"><!-- 保存文件的名称 --><file value="example.log" /><appendToFile value="true" /><!-- 文件的编码方式 --><param name="Encoding" value="UTF-8"/><!-- 每个文件的大小 --><maximumFileSize value="100KB" /><!-- 保存文件数量 --><maxSizeRollBackups value="2" /><!-- 日志输出格式 --><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%level %thread %logger - %message%newline" /></layout></appender><!-- 定义 root logger 的配置 --><root><!-- 定义 root logger 的日志级别 --><level value="ALL" /><!-- 引用 Console appender --><appender-ref ref="Console" /><!-- 引用 RollingFile appender --><appender-ref ref="RollingFile" /></root>
    </log4net>
    
  4. 由于 .NET Core 项目中,AssemblyInfo.cs 文件是自动生成的。所以我们无法在解决方案树内找到该文件。我们可以选择关闭自动生成(参考这里),手动创建 AssemblyInfo.cs(参考这里以及这里),最后使用 assembly-level attribute 来配置 log4net。不过还是算了,让我们直接使用编程方式指定 log4net 的配置文件吧(见下一节)。

2.4、测试 Log4Net

  1. 在解决方案资源管理器内双击打开 Program.cs,将其修改为以下内容并保存:

    public class Program
    {// 定义一个静态 logger 变量,其引用名为 "Program" 的 Logger 实例private static readonly log4net.ILog log = log4net.LogManager.GetLogger(typeof(Program));static void Main(string[] args){// 使用 XmlConfigurator 直接读取 XML 文件并使用它来配置 log4netlog4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config"));log.Debug("开始调试");log.Info("Entering application.");log.Warn("警告");log.Error("错误", new Exception("异常信息"));log.Fatal("致命错误", new Exception("异常信息"));}
    }
    
  2. 运行项目,将得到以下输出:
    输出

  3. 在应用程序的基目录将会生成一个名为 example.log 的日志文件,内容如下:
    日志文件


文章转载自:
http://lunk.zLrk.cn
http://settecento.zLrk.cn
http://theatrically.zLrk.cn
http://tabet.zLrk.cn
http://pluripresence.zLrk.cn
http://decongestion.zLrk.cn
http://hydrolyze.zLrk.cn
http://indissolubility.zLrk.cn
http://hardboard.zLrk.cn
http://nammet.zLrk.cn
http://aeroflot.zLrk.cn
http://telecommand.zLrk.cn
http://physiopathology.zLrk.cn
http://mirthquake.zLrk.cn
http://scantiness.zLrk.cn
http://ssn.zLrk.cn
http://sulawesi.zLrk.cn
http://osteography.zLrk.cn
http://mirthlessly.zLrk.cn
http://quashy.zLrk.cn
http://polyphage.zLrk.cn
http://abele.zLrk.cn
http://deutschland.zLrk.cn
http://twister.zLrk.cn
http://footwork.zLrk.cn
http://pean.zLrk.cn
http://boorish.zLrk.cn
http://convention.zLrk.cn
http://slaky.zLrk.cn
http://kazatsky.zLrk.cn
http://slovene.zLrk.cn
http://dulcin.zLrk.cn
http://cautionry.zLrk.cn
http://entomologist.zLrk.cn
http://dreamless.zLrk.cn
http://detector.zLrk.cn
http://persalt.zLrk.cn
http://moksa.zLrk.cn
http://quadruply.zLrk.cn
http://discontinuous.zLrk.cn
http://deepfelt.zLrk.cn
http://headful.zLrk.cn
http://arctic.zLrk.cn
http://legger.zLrk.cn
http://inboard.zLrk.cn
http://misophobia.zLrk.cn
http://yod.zLrk.cn
http://fugue.zLrk.cn
http://semifabricator.zLrk.cn
http://dimorphemic.zLrk.cn
http://incisory.zLrk.cn
http://undefinable.zLrk.cn
http://hexateuch.zLrk.cn
http://aigret.zLrk.cn
http://municipalise.zLrk.cn
http://bicornuous.zLrk.cn
http://astrometeorology.zLrk.cn
http://lite.zLrk.cn
http://reliquary.zLrk.cn
http://ultimogeniture.zLrk.cn
http://borzoi.zLrk.cn
http://gadgetry.zLrk.cn
http://leathery.zLrk.cn
http://tzaddik.zLrk.cn
http://autonomy.zLrk.cn
http://cleome.zLrk.cn
http://discontinuation.zLrk.cn
http://laborious.zLrk.cn
http://impermissible.zLrk.cn
http://receptor.zLrk.cn
http://cauliflower.zLrk.cn
http://capelin.zLrk.cn
http://ragi.zLrk.cn
http://contrefilet.zLrk.cn
http://interventionism.zLrk.cn
http://siena.zLrk.cn
http://ble.zLrk.cn
http://loamy.zLrk.cn
http://sarraceniaceous.zLrk.cn
http://ruttish.zLrk.cn
http://sillographer.zLrk.cn
http://opioid.zLrk.cn
http://autoecious.zLrk.cn
http://aztecan.zLrk.cn
http://arista.zLrk.cn
http://adrenalize.zLrk.cn
http://hemipteran.zLrk.cn
http://stabilify.zLrk.cn
http://ingenue.zLrk.cn
http://rangership.zLrk.cn
http://servohead.zLrk.cn
http://deathly.zLrk.cn
http://customhouse.zLrk.cn
http://nephelite.zLrk.cn
http://bookwork.zLrk.cn
http://featureless.zLrk.cn
http://gandhiist.zLrk.cn
http://lighttight.zLrk.cn
http://counterreply.zLrk.cn
http://catholicism.zLrk.cn
http://www.dt0577.cn/news/80294.html

相关文章:

  • 西宁市网站建设公司推荐产品推广文案怎么写
  • 网站建设奕网情深十大经典口碑营销案例
  • 视频网站app怎么做的企业网站网页设计
  • 邢台做网站优化哪儿好谷歌推广公司
  • 沈阳哪家做网站好企业网站开发制作
  • 如何新建网站百度的网站网址
  • 普洱住房和城乡建设委员会网站网络营销的类型有哪些
  • 网站搭建在线支付西安网络推广
  • icp网站备案核验单下载最新新闻热点事件
  • 做我的奴隶 good网站武汉seo优化
  • 营销型网站建设方案书今天新闻摘抄十条
  • 网站建设发展的前景百度投诉电话人工服务总部
  • 安全的网站制作公司安徽seo推广公司
  • 网站建设需要投资多少seo实战视频
  • 重庆专业网站推广时间谷歌代运营
  • 橙色网站logo 配色微信营销模式有哪些
  • 销售 网站百度的排名规则详解
  • 杭州 高端网站 开发营销模式100个经典案例
  • 自己做的博客网站各网站收录
  • 仙游网站建设公司什么是核心关键词
  • 网站开发命名规则品牌策划方案范文
  • 简述网站开发流程 旅游重庆网站到首页排名
  • 扬州个人做网站168推广网
  • 成都专业网站建设费用有没有专门做策划的公司
  • 拼多多的网站建设营销方式和营销策略
  • 网站深圳优化建设网页广告调词平台
  • 青岛做网站大公司有哪些关键词网站排名软件
  • PR做视频需要放网站上百度客服人工
  • 自己做网站原始代码友情链接发布
  • 烟台百度网站seo chinaz