我在用NLog http://nlog-project.org用于登录 ASP.Net 应用程序并通过 Microsoft Sql Server 使用数据库目标。
我有一些可选的日志记录参数,但并不总是指定。但是,我希望在未提供这些内容时将其写为 nullNLog http://nlog-project.org似乎总是将它们写为空字符串。
有没有办法将其配置为默认写入 null ?
Ref: https://github.com/nlog/NLog/wiki/Database-target https://github.com/nlog/NLog/wiki/Database-target
这是一个老问题,但由于给出的解决方案有点'hacky' 我想给出我自己的,我认为它比数据库过程更容易实现,并且比使用案例更优雅。
您可以尝试用以下命令写入 NULLNULLIF
比较 2 个表达式的函数,如果它们相等则返回 NULL,否则返回第一个表达式 (msdn NULLIF 页面 http://msdn.microsoft.com/en-us/library/ms177562%28v=sql.90%29.aspx).
这样,NLog 配置文件中的 commandText 将如下所示:
INSERT INTO [dbo].[log] ([message], [optional])
VALUES (@message, NULLIF(@optional, ''))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)