如何在 web 配置中设置默认 appender? [英] how set default appender in web config?

查看:28
本文介绍了如何在 web 配置中设置默认 appender?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 web 配置中有 2 个 appender,第一个将日志保存在 xml 文件中,另一个使用外部 API 保存日志,我的问题是:

i have 2 appender in web config ,first one save logs in xml file , and another save logs using external API , my issue is :

我需要设置我的默认 appender 只是调用外部 API,不需要保存在 xml 文件中,如果 api reutred 失败,我想通过 xml 文件使用日志记录(我在运行时这样做).主要问题:如何设置第一个 appender 是登录 web.config 文件的默认值

i need to set my default appender is to call external API just , no need to save on xml file , and if api reutred failed , i want to use logging by xml file ( i did it at run time). main question : how to set first appender is default for logging in web.config file

web.config:

web.config :

<log4net>
     <!--workflow logging-->
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:/Workspaces/workflowLog/workflow-info.xml" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="Tahaluf.Workflow.Common.Core.Log.WorkFlowXmlLayout" />
    </appender>




    <!--Connect to Tahaluf Logging-->
    <appender name="WorkFlowAppender" type="Tahaluf.Workflow.Common.Core.Log.WorkFlowAppender"> 
    </appender>

    <root>
      <level value="ALL"  />
      <appender-ref ref="WorkFlowAppender"  />
      <appender-ref ref="LogFileAppender" />
    </root>
  </log4net>

推荐答案

解决办法是修改appender的Threshold.

The solution is to modify the Threshold of the appender.

web.config:

web.config:

<root>
  <level value="ALL"  />
  <appender-ref ref="WorkFlowAppender"  />
  <appender-ref ref="LogFileAppender" />
</root>

添加方法:

public static void SetThreshold(string appenderName, log4net.Core.Level threshold)
    {
        foreach (log4net.Appender.AppenderSkeleton appender in log4net.LogManager.GetRepository().GetAppenders())
        {
            if (appender.Name == appenderName)
            {
                appender.Threshold = threshold;
                break;
            }
        }
    }

关闭附加程序:SetThreshold("LogFileAppender", log4net.Core.Level.Off);

打开 appender:SetThreshold("LogFileAppender", log4net.Core.Level.Debug);级别可以是任何有效级别(不仅是Debug)

Turn appender on: SetThreshold("LogFileAppender", log4net.Core.Level.Debug); Level can be any valid level (not only Debug)

这篇关于如何在 web 配置中设置默认 appender?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆