按照建议添加自定义列 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/