c# - log4net 插入(空)到自定义列

标签 c# logging log4net

按照建议添加自定义列 here .当我使用代码行将某些内容记录到此列时,一切正常

log4net.GlobalContext.Properties["CustomColumn"] = "Custom value";

但是如果我像下面这样传递 null

log4net.GlobalContext.Properties["CustomColumn"] = null;

这被记录为 (null)(括号中包含一个字符串 null)。如果我根本不登录,也会发生这种情况,就像我注释代码一样,如下所示。

//log4net.GlobalContext.Properties["CustomColumn"] = null;

那么问题来了,有没有办法让它在数据库中实际为null,而不是一个字符串-(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 )" 

现在一切正常。

关于c# - log4net 插入(空)到自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28964934/

相关文章:

c# - 从html中获取值

c# - 如何防止表单关闭时控件中的事件触发

c# - 如何在组合框中选择多个项目

java - 禁用 Jax-WS Apache CXF HTTPConduit 消息日志记录

azure - Log4Net 在本地开发结构和辅助角色中工作正常,但在 Web 角色中则不行

.net - log4net.ThreadContext 和 log4net.LogicalThreadContext 有什么区别?

c# - XNA 4.0 中 AnisotropicClamp 和 AnisotropicWrap 之间的区别?

powershell - 将 PowerShell 命令记录到日志文件

python - 守护进程模式下的 Pyramid uWSGI 日志记录不起作用

c# - 为什么要在 log4net 中调用 IsDebugEnabled?