C# log4net logz.io appender配置文件将参数传递给listenerUrl和令牌标记
要将项目设置为在多个环境中运行并使用logz.io,我需要根据构建定义设置不同的令牌和listenerUrl值。该项目设置了log4net.config文件,其思想是使用log4net globalcontext属性传递值,就像我对布局模式标记所做的一样。不幸的是,log4net保留了这些属性名(占位符),并没有用globalcontext中的值替换它们 我的问题是如何动态设置这些标记 我试过的东西是:C# log4net logz.io appender配置文件将参数传递给listenerUrl和令牌标记,c#,.net-core,log4net,logz.io,C#,.net Core,Log4net,Logz.io,要将项目设置为在多个环境中运行并使用logz.io,我需要根据构建定义设置不同的令牌和listenerUrl值。该项目设置了log4net.config文件,其思想是使用log4net globalcontext属性传递值,就像我对布局模式标记所做的一样。不幸的是,log4net保留了这些属性名(占位符),并没有用globalcontext中的值替换它们 我的问题是如何动态设置这些标记 我试过的东西是: 配置中的属性。 以编程方式获取根追加器和设置值: var rootAppender=LogM
var rootAppender=LogManager.GetRepository(Assembly.GetEntryAssembly()).GetAppenders().OfType()代码>
hierarchy.Root.AddAppender(logzioAppender)代码>
<log4net>
<appender name="LogzioAppender" type="Logzio.DotNet.Log4net.LogzioAppender, Logzio.DotNet.Log4net">
<token value="%p{token}" />
<type>log4net</type>
<listenerUrl value="%p{listenerhost}:8071" />
<bufferSize>100</bufferSize>
<bufferTimeout>00:00:05</bufferTimeout>
<retriesMaxAttempts>3</retriesMaxAttempts>
<retriesInterval>00:00:02</retriesInterval>
<debug>false</debug>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="LogzioAppender" />
</root>
</log4net>
log4net
100
00:00:05
3.
00:00:02
假的
由于某种原因,我尝试的第2个选项在第一次尝试时不起作用。
此代码完成作业并覆盖log4net配置文件:
var logzioAppender = LogManager.GetRepository(Assembly.GetEntryAssembly()).GetAppenders().OfType<LogzioAppender>();
logzioAppender.FirstOrDefault().AddListenerUrl("https://listener_url:8071");
logzioAppender.FirstOrDefault().AddToken("key_value");
var logzioAppender=LogManager.GetRepository(Assembly.GetEntryAssembly()).GetAppenders().OfType();
logzioAppender.FirstOrDefault().AddListenerUrl(“https://listener_url:8071");
logzioAppender.FirstOrDefault().AddToken(“key_值”);
由于某种原因,我尝试的第2个选项在第一次尝试时不起作用。
此代码完成作业并覆盖log4net配置文件:
var logzioAppender = LogManager.GetRepository(Assembly.GetEntryAssembly()).GetAppenders().OfType<LogzioAppender>();
logzioAppender.FirstOrDefault().AddListenerUrl("https://listener_url:8071");
logzioAppender.FirstOrDefault().AddToken("key_value");
var logzioAppender=LogManager.GetRepository(Assembly.GetEntryAssembly()).GetAppenders().OfType();
logzioAppender.FirstOrDefault().AddListenerUrl(“https://listener_url:8071");
logzioAppender.FirstOrDefault().AddToken(“key_值”);