我一直在进行大量搜索,结果空白。我的研究表明,我可以使用NLog将日志记录到DB,但这始终涉及使用特定列和存储过程创建新表。
我大约有10个不同的系统,每个系统都有自己的自定义生成日志功能和数据库表。我想要做的是用NLog替换我们当前的自定义生成日志记录逻辑。但是我需要NLog,然后使用现有的表和架构存储日志。我无法以任何方式修改日志表,因为它们已紧密绑定到我此时可以更改的其他功能。因此,我需要NLog使其符合我的日志表架构。
使用NLog甚至可以做到吗?
任何细节将不胜感激。
答案 0 :(得分:1)
https://github.com/nlog/NLog/wiki/Database-target
您的配置如下所示:
result = [a for s in [[contact for contact in contacts if user['username'] == contact['username']] or [user] for user in users] for a in s]
<target name="db"
xsi:type="Database"
connectionStringName="NLogConn"
commandText="INSERT INTO MyExistingTable (FieldA, FieldB, FieldC) VALUES (@a, @b, @c)">
<parameter name="@a" layout="${machinename}" />
<parameter name="@b" layout="${date}" />
<parameter name="@c" layout="${exception:tostring}" />
</target>
是https://github.com/nlog/nlog/wiki/Layout-Renderers中的任何内容或其组合。您还可以通过添加具有不同名称的不同目标来定义多个架构。