和netframework不一样的是,netcore 没有assembly文件。所以配置的时候需要注意:
1.配置文件可以没有
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections>
这一段代码。
2.要保证 LogManager.GetLogger(typeof(Respository));在
var logRepository = LogManager.GetRepository(Assembly.GetEntryAssembly()); XmlConfigurator.Configure(logRepository, new FileInfo("log4net.config"));
这两句之后执行,可以加到startup的构造函数里,参考:
https://stackify.com/making-log4net-net-core-work/
3.记得在Startup类加入[assembly: XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]标记
其中2和3步骤是保证IsErrorEnabled等属性不为false的关键