Viv*_*Dev 2 c# logging log4net
根据此处的建议添加了一个自定义列。当我使用代码行将某些内容登录到此列时,一切工作正常
log4net.GlobalContext.Properties["CustomColumn"] = "Custom value";
Run Code Online (Sandbox Code Playgroud)
但是如果我通过null代替如下
log4net.GlobalContext.Properties["CustomColumn"] = null;
Run Code Online (Sandbox Code Playgroud)
这被记录为(null)(brickts中包含的字符串null)。如果我根本不登录,也会发生这种情况,例如我注释了如下所示的代码。
//log4net.GlobalContext.Properties["CustomColumn"] = null;
Run Code Online (Sandbox Code Playgroud)
所以问题是,是否有办法使它在数据库中实际上为空,而不是字符串-(null)。我正在使用MS SQL Server 2008 R2
我已将Web.config文件中commandText值的insert语句修改为
"INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message],[Exception],[BrowserCapabilities]) VALUES (@log_date, @thread, @log_level,
@logger, @message, @exception, CASE WHEN @BrowserCapabilities = '' OR @BrowserCapabilities = '(null)' THEN NULL ELSE @BrowserCapabilities END )"
Run Code Online (Sandbox Code Playgroud)
现在可以正常工作了。
归档时间: |
|
查看次数: |
1363 次 |
最近记录: |