NLog - 如何配置以有条件地写入数据库以及电子邮件异常和文件异常
NLog - how to configure to conditionally write to Database and on exception to Email and on exception to File
之前我已经构建了一个日志记录 class,我可以在其中选择写入 Oracle 数据库(作为单独的连接),或者如果有异常则发送 SMTP 电子邮件,或者如果写入物理文件时出现异常(使用 Microsoft.VisualBasic.Logging
命名空间中的 DefaultLogWriter
)。
现在我正在编写一个新的 WinForms
应用程序,其中数据库是 SQL 服务器...并且因为事务的处理方式与 Oracle 不同...我想使用 NLog
(因为它的预构建能力总是在事务之外写入 运行)。
调用定义为
的NLog.Logger
实例化对象时
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
是否可以配置对 Logger.<LogLevel>
的调用,以便异常下降(例如,第一次尝试数据库,第二次尝试发送电子邮件,第三次写入文件)?
感谢您抽出宝贵时间和提出任何建议。
我认为 FallBackGroup 就是您要找的:
之前我已经构建了一个日志记录 class,我可以在其中选择写入 Oracle 数据库(作为单独的连接),或者如果有异常则发送 SMTP 电子邮件,或者如果写入物理文件时出现异常(使用 Microsoft.VisualBasic.Logging
命名空间中的 DefaultLogWriter
)。
现在我正在编写一个新的 WinForms
应用程序,其中数据库是 SQL 服务器...并且因为事务的处理方式与 Oracle 不同...我想使用 NLog
(因为它的预构建能力总是在事务之外写入 运行)。
调用定义为
的NLog.Logger
实例化对象时
private static readonly NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();
是否可以配置对 Logger.<LogLevel>
的调用,以便异常下降(例如,第一次尝试数据库,第二次尝试发送电子邮件,第三次写入文件)?
感谢您抽出宝贵时间和提出任何建议。
我认为 FallBackGroup 就是您要找的: