Asp.Net Core配置多环境log4net配置文件的全过程

前言

在之前的文章中有讲到AspNetCore多环境配置文件的应用,我们根据自己多种环境分别配置多个appsettings.$EnvironmentName.json文件。

在实际的开发中我们可能会遇到不只一个配置文件,如当我们使用log4net日志库时,喜欢使用单独的log4net.config配置文件。并且我们还遇到不同环境下的配置文件还存在差异。这时我们可能可以效仿appsettings.json多环境配置的风格实现多环境配置文件。

配置log4net

新建Web项目

Asp.Net Core配置多环境log4net配置文件的全过程_第1张图片

安装Microsoft.Extensions.Logging.Log4Net.AspNetCore

Asp.Net Core配置多环境log4net配置文件的全过程_第2张图片

创建两个环境的配置文件分别如图,并设置文件属性使其在发布时能够复制到根目录

Asp.Net Core配置多环境log4net配置文件的全过程_第3张图片

两个配置文件内容如下,例如我们这里生产环境的配置文件多增加一个KafkaAppender使日志发送至kafka消息丢列中,然后kafka的消费者将日志消费至ES集群,而本地开发的日志则没必要进行上传ES。



  
  
    Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF.
    
    
    
    
  

  
  
    
    
  
  
  
    
      
        
      
      
        
      
    
    
      
    
  
  
  
    
    
    
  

  
    
    
    
    
    
    
    
    
    
    
    
      
    
  

  
    
    
    
    
    
    
    
    
    
    
    
      
      
    
    
      
    
  



  
  
    Value of priority may be ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF.
    
    
    
  

  
  
    
    
  
  
  
    
    
    
  

  
    
    
    
    
    
    
    
    
    
    
    
      
    
  

  
    
    
    
    
    
    
    
    
    
    
    
      
      
    
    
      
    
  


在Program.cs中添加log4net配置如下图

// ===============多环境log4net配置===============
IWebHostEnvironment environment = builder.Environment;
var configName = "log4net" + (environment.IsProduction() ? string.Empty : environment.EnvironmentName) + ".config";
builder.Logging.AddLog4Net(configName, watch: true);
// ===============多环境log4net配置===============

Asp.Net Core配置多环境log4net配置文件的全过程_第4张图片

现在所有的配置都完成了。

总结

到此这篇关于Asp.Net Core配置多环境log4net配置文件的文章就介绍到这了,更多相关AspNetCore多环境log4net配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Asp.Net Core配置多环境log4net配置文件的全过程)