如何使用 .NET Standard 2.0 为类库设置 log4net 的文件附加记录器? 我没有 AssemblyInfo.cs。 我认为我有一个根本性的误解,导致我对此感到困惑,所以这可能是一个简单的答案,但我刚刚启动了一个类库,我希望在我们的解决方案中可以访问尽可能多的项目,并具有内部日志记录开始。
AssemblyInfo.cs 文件没有什么特别的。配置 log4net 的属性可以放在程序集中的任何文件中。
话虽如此,我建议不要直接使用 log4net,而是使用 NuGet 包中的
ILogger
Microsoft.Extensions.Logging.Abstractions
。这允许您的库的使用者使用他们想要的任何日志系统,而不是仅限于使用 log4net。
不确定我是否理解你需要/想要什么,但这是配置文件应该是什么样子的想法
<log4net>
<root>
<level value="INFO" />
<appender-ref ref="LogFileAppender" />
</root>
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="test.txt" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="5MB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%M %C] - %message%newline" />
</layout>
</log4net>
如果我没记错的话,你不需要向你的 assemblyinfo 添加任何内容(如果你没有),但你需要在启动时添加类似的内容
log4net.Config.XmlConfigurator.Configure();
(在我的例子中是 webapi,所以我将其添加到我的startup.cs中)
我希望这有帮助!