web-config – NLog配置文件,用于从web.config获取配置设置值

前端之家收集整理的这篇文章主要介绍了web-config – NLog配置文件,用于从web.config获取配置设置值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有从< ApplicationSettings>获取值的方法? NLog布局变量中的web.config部分?

我已经在我的web.config中存储了SMTP详细信息,并且不希望复制这些设置只是为了在我的NLog.config中使用.

理想情况下,我想做类似的事情:${aspnet-config:SmtpHostServer}
然后从web.config中获取

解决方法

除了创建自己的LayoutRenderer之外,我看不到任何明显的方法(见下文).如果您正在进行自己的程序集,请不要忘记将以下内容添加到NLog.Config中:
<extensions>
   <add assembly="YOURASSEMBLYNAMEHERE" />
</extensions>

希望这有助于其他人:

[LayoutRenderer("aspnet-config")]
public class AspNetConfigValueLayoutRenderer : LayoutRenderer
{
    [DefaultParameter]
    public string Variable
    {
        get;
        set;
    }

    protected override void Append(StringBuilder builder,LogEventInfo logEvent)
    {
        if (this.Variable == null)
        {
            return;
        }
        HttpContext context = HttpContext.Current;
        if (context == null)
        {
            return;
        }
        builder.Append(Convert.ToString(System.Configuration.ConfigurationManager.AppSettings[this.Variable],CultureInfo.InvariantCulture));
    }


}

猜你在找的HTML相关文章