【问题标题】:C# - How to use another project logging configuration into current project?C# - 如何在当前项目中使用另一个项目日志配置?
【发布时间】:2020-04-11 23:10:41
【问题描述】:

我的解决方案文件中有 12 个项目。大多数 Windows 服务 (ServiceProj_1, ServiceProj_2, ...) 和一个项目是 Web 应用程序 (WebApp)。我使用 log4net 进行日志记录。 WebAppServiceProject_1, ServiceProj_2, ... 分别将 log4net 配置到 web.configapp.config 文件中。我们已经实施了 DMZ,所以 WebApp 只暴露给其他人。现在需要使用这些 Windows 服务项目的日志记录而不是 WebApp

我知道我可以创建一个自定义附加程序并使之成为可能。问题是,很多行已经写入WebApp 以将LogMessage 记录到日志文件中,因此我们无法触及这些行。

我不知道该做什么和怎么做。需要帮忙。 如果描述无法理解,请告诉我,我会尽力解释更多。

【问题讨论】:

  • 我编辑了你的问题,看看。我不清楚at least 你在说什么。我不确定您的最终结果是什么?

标签: c# log4net log4net-configuration log4net-appender dmz


【解决方案1】:

您可以指定配置文件并动态加载它... 这里我的配置文件位于 FullConfigFilePath 的位置。

private Configuration Config
{
    get
    {
        if (_Config != null) return _Config;

        _Config = ConfigurationManager.OpenMappedExeConfiguration(
        new ExeConfigurationFileMap()
        {
            ExeConfigFilename = FullConfigFilePath
        }, ConfigurationUserLevel.None);
        return _Config;
    }
}   

加载配置后,您可以从那里访问值.... 比如.....

private string BaseUrl
{
    get
    {
        return this.Config.AppSettings.Settings["MyConfigSetting"].Value;
    }
}

希望您可以根据需要调整和使用这种方法。

【讨论】:

    猜你喜欢
    • 2021-04-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2017-10-16
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多