防止 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>

现在 no diagnostics listener is configured 没有输出。