【发布时间】:2020-07-13 19:30:08
【问题描述】:
我有两个 Azure 应用程序,它们都使用 NLog 将日志记录到 Azure SQL 数据库。两者都从 2019 年 11 月开始运行。
6 月 30 日,一个应用程序停止记录,而另一个应用程序继续运行 - 它们记录到同一个数据库。停止记录的应用程序最近没有任何更改。它使用的连接字符串与用于数据库连接的连接字符串相同。因此,除了记录之外,该应用程序正在运行。
我已验证数据库用户可以成功调用 Azure SQL DB 中的日志记录过程。我还成功地针对生产数据库运行了本地单元测试以触发日志记录。
- DB 用户可以调用 DB proc 进行日志记录(是)
- 应用程序可以连接并执行必要的 CRUD 操作(是)
- NLog 使用与其他数据库调用相同的连接字符串(是)
- 本地运行master分支代码日志成功(是)
- 四个多月内代码或数据库均未更改(已确认)
应用程序如何处理除日志记录之外的每个数据库调用?
azure 是否可以将频繁的日志记录视为应用程序对数据库的攻击?如果是这样,它如何区分 NLog proc 调用和其他所有内容?
感谢观看
【问题讨论】:
-
您使用什么 nuget-package 使 NLog 写入 Azure DB?你检查过 NLog InternalLogger 的输出了吗?
-
@RolfKristensen NLog 4.5.2 版。我没有检查 internalLogger。我会调查的。谢谢!
-
@RolfKristensen 启用内部记录器会重置应用程序服务。这显然清除了登录到数据库的问题。另一个细节是后备组中的次要目标能够记录。不幸的是,我无法确定根本原因。
标签: azure azure-sql-database nlog