gpt4 book ai didi

c# - log4Net 困境

转载 作者:太空狗 更新时间:2023-10-29 19:26:53 28 4
gpt4 key购买 nike

我有一个包含多个 C# 项目的 C# 解决方案。我打算在其中添加日志记录。此日志记录应该在所有项目中可用,并且最好使用带有滚动文件日志的 log4Net。

在上述前提下,我可以想到两种方法。

  1. 在解决方案的入口点(程序类)中初始化记录器并获取记录器实例并将其用作每个需要记录的类的成员变量。

  2. 添加另一个项目 Utilities,并定义一个具有静态日志记录方法的 Logging 类。此类应在解决方案的入口点(程序类)中初始化。

最好的解决方案是什么?

最佳答案

我也有类似的情况。我们所做的是为所有项目使用 1 个应用程序配置并使用链接来引用它。

在您的应用程序的 app.config 中,您设置了 log4net 配置部分

  <configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>

然后设置 Appender:

<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
...

在每个你想记录的类中,你放一行类似这样的内容:

private static readonly ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

然后每个类获取相同的记录器(单例)。这对你有用吗?

关于c# - log4Net 困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5330164/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com