2017-02-20 37 views
0

我正在使用额外的属性,在异常时必须登录到数据库。 请检查此链接是否有额外的财产使用。 https://www.codeproject.com/articles/140911/log4net-tutorial如何检查log4net中的额外属性是否为空

我想在webconfig中添加一个检查,如果该属性没有被初始化,否则如果该属性被初始化,则执行其他操作。 如何做到这一点?

从评论:

log4net.ThreadContext.Properties [ “Property1”] = someval;在某些情况下,我正在设置此属性。但是,当我使用%property {Property1}时,它会显示我设置的案例的值。但是对于那些没有指定值的情况,它会在数据库列中记录(空)。如何避免空值并添加空格?

+0

请出示的** **你的代码,而不是链接到教程并正确描述你想要做的事情。 – stuartd

+0

@stuartd:log4net.ThreadContext.Properties [“Property1”] = someval; 我在某些情况下设置了这个属性。 但是,当我使用%property {Property1}时,它显示我设置的案例的值。但是对于那些没有指定值的情况,它会在数据库列中记录(空)。如何避免空值并添加空格? –

回答

1

使用NullText property.

使用,同时输出一个项目的字符串表示这个值来表示空已经遇到。

默认值是(空)。通过在应用程序的.config文件中为log4net.NullText appSetting指定一个值,可以覆盖此值。

您可以在配置设置此:

<appSettings> 
    <add key="log4net.NullText" value="" /> 
</appSettings> 

或者代码:

log4net.Util.SystemInfo.NullText = string.Empty; 

注意if you are using an old version of log4net then the value has to be a single space rather than empty.

+0

这是您当前问题的答案。如果您还有其他问题,请提出另一个问题。 – stuartd

+0

Stuartd我正在使用log4net的最新(2.0.8)版本,我已经设置了上面提到的应用程序设置,但仍然在日志中获取(空)而不是空字符串。不想将其设置为代码 –

+0

@KamranShahid你应该问一个新问题 – stuartd

相关问题