webapi使用log4net在release模式下无法生成文件的解决方案


为 WebAPI  添加 log4net 日志功能,

LogNet 的配置信息,  网络几乎都是和 Web.Config  写在一起啊的 。

今天发布一个webapi,在Debug模式一切正常,但是在release模式下log4net不工作,查了很多资料,终于解决。具体做如下检查修改。

1.从nuget下载log4net

2.一个log4net.config文件,各个节点的意义详细查询api,这是产生文件的路径“logs/info/2020/202003/20200301.log”,logs目录下日志分会按debug,error,fatal,info,warn来存在日志。

log4net.config配置内容如下:

<?xml version="1.0" encoding="utf-8"?>


  
    
    

一般都是在AssemblyInfo.cs文件中写入如下代码

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

如图:

但这个方式在Debug模式下没有问题,但是在release模式下就不好用了,需要在Global.asax文件中具体再次指定配置文件所在位置,例如:

log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~") + @"\log4net.config"));

 如图:

重新编译发布就可以了。

<?xml version="1.0" encoding="utf-8"?>


  
    
    
C