防止 Firebird 在 Visual Studio 调试输出 window 中打印查询
Prevent Firebird from printing queries in Visual Studio debug output window
我们在我们的项目中新采用了 Firebird,通过 Entity Framework 使用它。我现在注意到 Firebird 将每个查询打印到 Visual Studio 的调试输出 window。这是一个简化的例子:
FirebirdSql.Data.FirebirdClient Information: 0 : Command:
SELECT
"B"."FOO" AS "FOO"
FROM "BAR" AS "B"
WHERE [...]
Parameters:
Name:p__linq__0 Type:TimeStamp Used Value:19.03.2020 07:57:59
Name:p__linq__1 Type:Guid Used Value:00000000-0000-0000-0000-000000000000
使用旧的 DBMS 我们没有这样的输出,所以我不认为这里有一些通用的 Entity Framework 功能在起作用。我知道 DbContext.Database.Log
,但我仔细检查过我们没有在我们的代码库中使用它。
我确认不是我们的日志记录框架 (log4net) 将某些内容重定向到 VS 调试输出。我们的 app.config 也不包含任何看起来可疑的内容。最后但同样重要的是,互联网搜索没有产生任何有用的结果。
所以我在这里真的很茫然。你知道这个输出是从哪里来的吗?我该如何禁用它?
我们使用 Visual Studio 2019 和 Firebird 3。
打开您的 app.config
并添加此代码:
<system.diagnostics>
<sources>
<source name="FirebirdSql.Data.FirebirdClient">
<listeners>
<clear />
</listeners>
</source>
</sources>
</system.diagnostics>
我们在我们的项目中新采用了 Firebird,通过 Entity Framework 使用它。我现在注意到 Firebird 将每个查询打印到 Visual Studio 的调试输出 window。这是一个简化的例子:
FirebirdSql.Data.FirebirdClient Information: 0 : Command:
SELECT
"B"."FOO" AS "FOO"
FROM "BAR" AS "B"
WHERE [...]
Parameters:
Name:p__linq__0 Type:TimeStamp Used Value:19.03.2020 07:57:59
Name:p__linq__1 Type:Guid Used Value:00000000-0000-0000-0000-000000000000
使用旧的 DBMS 我们没有这样的输出,所以我不认为这里有一些通用的 Entity Framework 功能在起作用。我知道 DbContext.Database.Log
,但我仔细检查过我们没有在我们的代码库中使用它。
我确认不是我们的日志记录框架 (log4net) 将某些内容重定向到 VS 调试输出。我们的 app.config 也不包含任何看起来可疑的内容。最后但同样重要的是,互联网搜索没有产生任何有用的结果。
所以我在这里真的很茫然。你知道这个输出是从哪里来的吗?我该如何禁用它?
我们使用 Visual Studio 2019 和 Firebird 3。
打开您的 app.config
并添加此代码:
<system.diagnostics>
<sources>
<source name="FirebirdSql.Data.FirebirdClient">
<listeners>
<clear />
</listeners>
</source>
</sources>
</system.diagnostics>