Log4net.config配置启用常用方法汇总

在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置。这里做了一下总结。

方式一:

  在运行时编程配置,代码如下:

class Program
  {
    private readonly static ILog log = InitILog();
    //private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    public static void Main(string[] args)
    {
      var gp=log4net.LogManager.GetRepository().Configured;
      log.Debug("测试");
      Console.ReadKey();
    }

    public static ILog InitILog()
    {
      var file = AppDomain.CurrentDomain.BaseDirectory + @"\Config\log4net.config";
      FileInfo info = new FileInfo(file);
      XmlConfigurator.Configure(info);
      return LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    }
  }

在方法InitLog中,通过获取配置文件的路径(配置文件路径=应用程序基本目录+程序集文件名+扩展名),使用FileInfo,Configure读取配置文件内容,启动log4net配置。

方式二:

  assembly-level 配置属性,看代码:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config", Watch =true)]namespace SpringNetIOC
{
  class Program
  {
    //private readonly static ILog log = InitILog();
    private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    public static void Main(string[] args)
    {
      var gp=log4net.LogManager.GetRepository().Configured;
      log.Debug("测试");
      Console.ReadKey();
    }

  }
}

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config", Watch =true)]也可以在Properties/AssemblyInfo.cs== 文件里添加,让程序找到log4net.config文件。

需要说明一下XmlConfigurator可配置的三个属性。

  a。ConfigFile 配置文件名和路径,包括扩展名,文件相对于程序的根目录。注意,此属性不可和ConfigFileExtension 属性同时使用。

  b。ConfigFileExtension;配置文件的后缀名,缺省默认时'config',此属性不可和ConfigFile属性公用。

关于ConfigFileExtension属性,特此记录一下,留待后面有了更深入的了解,再做回顾。

  c。Watch(bool属性),如果为true,log4net框架在运行时,监视文件。如果配置文件被修改,则重新加载配置文件。

方式三:

  app.config中的appSettings配置。看代码:

<configuration>
  <appSettings>
    <add key="log4net.Config" value="Config/log4net.config"/>
    <add key="log4net.Config.Watch" value="True"/>
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

key为lognet.Config会覆盖assembly XmlConfigurator 配置 中 ConfigFile 指定的值,key为log4net.Config.Watch会覆盖assembly XmlConfigurator配置中Watch的指定值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#中四步轻松使用log4net记录本地日志的方法

    在这里,记录我在项目中使用log4net记录本地日志的步骤.在不会之前感觉很难,很神秘,一旦会了之后其实没那么难.其实所有的事情都是一样的,下面我就分享一下我使用log4Net的经验. 第一步:首先从Visual Studio中的Nuget包管理中搜索下载 Log4Net dll文件 如下图: 选择安装的项目(哪个类库中需要记录日志就勾选上) 第二步:打开配置文件 WinFrom就是 App.config Web就是 web.config 将以下配置信息加入 <configSections>

  • ASP.NET Core与NLog集成的完整步骤

    前言 一直很喜欢 NLog 的简洁和扩展性,所以准备将 ASP.NET Core 提供的默认日志提供程序替换成 NLog. NLog 是一个跨平台的 .Net 日志组件. NLog 遵从 BSD license,即允许商业应用且完全开放源代码.任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议. 下面话不多说了,来一起看看详细的介绍吧. 步骤 1 在项目的project.json中添加依赖NLog.Extensions.Logging: "dependencies":

  • 详解.Net core2.0日志组件Log4net、Nlog简单性能测试

    .Net core之Log4net.Nlog简单性能测试 比较log4net.nlog的文件写入性能(.netcore环境),涉及代码和配置如有不正确的地方,还请批评指正. 测试环境 开发工具: Vsual Studio 2017 15.3 框架版本: .net core 2.0 操作系统:window10 Enterprise 1703 硬件配置:CPU I3-4170 3.7GHz,内存 8G,固态硬盘 日志组件 log4net 2.0.8 nlog 5.0.0-beta10 测试用例 1.

  • 详解.Net Core中的日志组件(Logging)

    1.介绍 Logging组件是微软实现的日志记录组件包括控制台(Console).调试(Debug).事件日志(EventLog)和TraceSource,但是没有实现最常用用的文件记录日志功能(可以用其他第三方的如NLog.Log4Net.之前写过NLog使用的文章). 2.默认配置 新建.Net Core Web Api项目,添加下面代码. [Route("api/[controller]")] public class ValuesController : Controller

  • ASP.NET Core开发教程之Logging利用NLog写日志文件

    前言 本文主要介绍了ASP.NET Core 开发-Logging 使用NLog 写日志文件的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以轻松输出到控制台. 学习Logging 组件的相关使用,使用NLog 将日志写入到文件记录. Logging 使用 新建一个 ASP.NET Core 项目,为了方便,我选择Web 应用程序,改身份验证 改为

  • .net下log4net使用方法详解

    本文实例为大家分享了.net下log4net的使用方法,供大家参考,具体内容如下 这里以控制台应用程序为例 首先是要添加引用: 安装后可以看到项目中多了log4net的引用: 添加应用程序配置文件app.config,配置log4net <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="lo

  • 详解log4net的使用

    程序中只需要引用log4net.dll文件即可 配置的引用 log4net.Config.XmlConfigurator.Configure(); 首先添加以上代码. CS程序:在Main方法中添加: BS程序:Application_Start方法中添加: 或是两者都可以在AssemblyInfo.cs(Properties中)文件里添加以下的语句: //设置独立配置文件,log4net.config [assembly: log4net.Config.XmlConfigurator(Conf

  • Log4net.config配置启用常用方法汇总

    在上文中,进行了简单的log4配置搭建,也在实操中启用了log4net的配置.这里做了一下总结. 方式一: 在运行时编程配置,代码如下: class Program { private readonly static ILog log = InitILog(); //private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static

  • Log4Net 日志配置[附带源码下载]

    前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录到文件.控制台.Windows事件日志和数据库,并且我们还可以记载控制要记载的日志级别,可以记载的日志类别包括:FATAL(致命错误).ERROR(一般错误).WARN(警告).INFO(一般信息).DEBUG(调试信息).log4net 有四种主要的组件,分别是Logger(记录器), Repos

  • ThinkPHP 在阿里云上的nginx.config配置实例详解

    具体代码如下所示: # For more information on configuration, see: # * Official English Documentation: http://nginx.org/en/docs/ # * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log;

  • Java微信公众平台开发(13) 微信JSSDK中Config配置

    前端开发工程师和关注前端开发的开发者们在2015年中肯定被腾讯的JSSDk引爆过,搞APP的.搞前端的甚至是是搞后端的都跑过来凑热闹,一时之间也把微信JSSDK捧得特别牛逼,但是在我们的技术眼里它的实现原理和根本是不能够被改变的,这篇文章就不对其js的实现做任何评价和解说了(因为我也不是很懂,哈哈),这里要说的是它的config配置实现,参考文档:http://mp.weixin.qq.com/wiki/11/74ad127cc054f6b80759c40f77ec03db.html  ! 微信

  • spring cloud学习入门之config配置教程

    前言 本文主要给大家分享了关于spring cloud的入门教程,主要介绍了config配置的相关内容,下面话不多说了,来一起看看看详细的介绍吧. 简介 Spring cloud config 分为两部分 server client config-server 配置服务端,服务管理配置信息 config-client 客户端,客户端调用server端暴露接口获取配置信息 config-server 创建config-server 首先创建config-server工程. 文件结构: ├── co

  • 简述vue中的config配置

    在webpack.base.conf文件中配置别名以及扩展名 resolve: { extensions: ['.js', '.vue', '.json', '.styl'], alias: { 'vue$': 'vue/dist/vue.esm.js', '@': resolve('src'), 'src': path.resolve(__dirname, '../src'), 'common': path.resolve(__dirname, '../src/common'), 'compo

  • 详解SpringCloud Config配置中心

    一.创建Config配置中心项目 1.添加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> 2.启动类,需要添加@EnableConfigServer import org.springframework.boot.SpringApp

  • SpringCloud Config配置加密解密用法解析

    1. Java8自带无限制加密解密算法, 不需要再引入网上说的那俩包 2. 加密解密是SpringCloud Config的功能, 所以必须先启动一个SCC项目 3. 在SCC项目的配置文件中添加加密解密的钥匙: 密钥----> encrypt.key=xuejian 4. 启动SCC项目,通过http://localhost:port/encrypt/status检查加密解密功能是否能用,如果能用,会返回OK,否则会返回一个不能用的提示 5. 启动一个使用SpringCloud Config配

  • SpringCloud Config配置中心原理以及环境切换方式

    目录 Config配置中心原理以及环境切换 原理介绍 一.ConfigServer引入依赖 二.Configclient 注意 简易配置中心原理及流程说明 原理 简易搭建例子 Config配置中心原理以及环境切换 springCloud config项目,用来为分布式的微服务系统中提供集成式外部配置支持,分为客户端和服务端 spring官方如下介绍: Spring Cloud Config provides server and client-side support for externali

  • python中的json模块常用方法汇总

    目录 一.概述 二.方法详解 1.dump() 2.dumps 3.load 4.loads 三.代码实战 1.dumps() 2.dump() 4.loads() 一.概述 推荐使用参考网站:json 在python中,json模块可以实现json数据的序列化和反序列化 序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式 实现方法:load() loads() 反序列化:将可物理存储和传递的json数据形式转换为在内存中表示的python对象 实现方法:dump() du

随机推荐