如何从 log4net 为 .NET Standard 2.0 class 库设置 FileAppender 记录器?
How do I setup a FileAppender logger from log4net for a .NET Standard 2.0 class library?
如何使用 .NET Standard 2.0 从 log4net 为 class 库设置 File Appender 记录器?我没有 AssemblyInfo.cs。我认为我有一个基本的误解导致我对此感到困惑,所以这可能是一个简单的答案,但我刚刚启动了一个 class 库,我希望我们的解决方案中尽可能多的项目可以访问它,并且从一开始就有内部日志记录。
非常感谢suggestions/help。
AssemblyInfo.cs 文件没有什么特别之处。配置log4net的属性可以放在程序集中的任何文件中。
也就是说,我建议不要直接使用 log4net,而是使用 NuGet 包 Microsoft.Extensions.Logging.Abstractions
中的 ILogger
。这允许您的图书馆的消费者使用他们想要的任何日志系统,而不是只使用 log4net。
不确定我是否理解你的意思need/want,但这是配置文件应该是什么样子的想法
<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>
如果我没记错的话,你不需要在你的程序集信息中添加任何东西(如果你没有)但是你需要在启动时添加这样的东西
log4net.Config.XmlConfigurator.Configure();
(在我的例子中是 webapi,所以我将它添加到我的 startup.cs)
希望对您有所帮助!
如何使用 .NET Standard 2.0 从 log4net 为 class 库设置 File Appender 记录器?我没有 AssemblyInfo.cs。我认为我有一个基本的误解导致我对此感到困惑,所以这可能是一个简单的答案,但我刚刚启动了一个 class 库,我希望我们的解决方案中尽可能多的项目可以访问它,并且从一开始就有内部日志记录。
非常感谢suggestions/help。
AssemblyInfo.cs 文件没有什么特别之处。配置log4net的属性可以放在程序集中的任何文件中。
也就是说,我建议不要直接使用 log4net,而是使用 NuGet 包 Microsoft.Extensions.Logging.Abstractions
中的 ILogger
。这允许您的图书馆的消费者使用他们想要的任何日志系统,而不是只使用 log4net。
不确定我是否理解你的意思need/want,但这是配置文件应该是什么样子的想法
<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>
如果我没记错的话,你不需要在你的程序集信息中添加任何东西(如果你没有)但是你需要在启动时添加这样的东西
log4net.Config.XmlConfigurator.Configure();
(在我的例子中是 webapi,所以我将它添加到我的 startup.cs)
希望对您有所帮助!