log4net 部署到服务器后无法记录日志
在开发环境下是可以记录的,但是发布出去后不行。被这个问题困扰了好久,今天终于发现了原因!!
我的 log4net
配置文件是另外写的,就保存在项目根目录下。
指定配置文件的方式是通过在 AssemblyInfo.cs
添加 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
这一句代码来指定的。
上面的是我的项目结构。我在项目里封装了一个 LogHelper
,调用 log4net
的方法都写在这个类里,这个类在 Common
项目下,然后其他项目就引用 Common
下的 LogHelper
,于是我只改了被引用的 Common
项目的 AssemblyInfo.cs
文件,而正确的做法应该是修改主项目的 AssemblyInfo.cs
文件!!
好吧……改回来后果然可以了……OTL
PS:如果用的是记录到文件的方式,可能还需要给 IIS_IUSRS
用户配置文件夹读写权限。