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"?>