TypeORM 通过 .env 配置禁用日志记录

问题描述 投票:0回答:2

即使我输入了

TYPEORM_LOGGING=false
,SQL 查询日志仍然在控制台中膨胀:

有什么方法可以明确禁用这些日志吗?好像 .env 配置不影响它或有冲突。

javascript typescript typeorm
2个回答
4
投票

您可以按照此处所述使用

logging: false
来使用 ormconfig.js 文件 https://github.com/typeorm/typeorm/blob/master/docs/logging.md

{
    name: "mysql",
    type: "mysql",
    host: "localhost",
    port: 3306,
    username: "test",
    password: "test",
    database: "test",
    ...
    logging: false
}

与环境变量相比,使用 ormconfig.js 文件会更加灵活。 关于.env,你能保证env变量在运行时具有期望的值吗?如果在读取 .env 文件之前定义了 env,据我所知,dotenv 无法覆盖它


2
投票

您可以通过简单地在数据源选项中设置logging: true/false来启用/禁用所有查询和错误的日志记录:

{
    name: "....",
    type: "....",
    host: "localhost",
    port: ...,
    username: "test",
    password: "test",
    database: "test",
    ...
    logging: true // or false
}

您还可以在数据源选项中启用不同类型的日志记录:

{
    host: "localhost",
    ...
    logging: ["query", "error"]
}

如果您只想启用失败查询的日志记录,则只需添加错误:

{
    host: "localhost",
    ...
    logging: ["error"]
}

您还可以使用其他选项:

  • 查询 - 记录所有查询。
  • 错误 - 记录所有失败的查询和错误。
  • schema - 记录架构构建过程。
  • warn - 记录内部 orm 警告。
  • info - 记录内部 orm 信息消息。
  • log - 记录内部 orm 日志消息。

您可以根据需要指定任意多个选项。如果您想启用所有日志记录,您只需指定日志记录:“all”:

{
    host: "localhost",
    ...
    logging: "all"
}
© www.soinside.com 2019 - 2024. All rights reserved.