0

我注意到在 Sequelize 版本4.4.2中,创建模型时日志信息包括数据库凭据。

如果您希望在生产环境中使用查询信息的日志来审计查询或调试错误,这是有问题的。这是我的续集设置:

import Sequelize from 'sequelize';
import { log } from './plugins';

const createConnection = () => new Sequelize(
    process.env.POSTGRES_DB,
    process.env.POSTGRES_USER,
    process.env.POSTGRES_PASSWORD,
    {
        host: process.env.SERVER_POSTGRES_HOST,
        port: process.env.SERVER_POSTGRES_PORT,
        dialect: 'postgres',
        logging: log.trace.bind(log)
});

const connection = createConnection();

编辑:

它似乎与我这样做的方式附加自定义记录器直接相关。它将一个配置对象传递给记录器,其中包括 sequelize 配置,其中还包括数据库凭据。依赖 console.log 不会导致问题。

4

1 回答 1

0

日志记录配置应该是

logging: (msg) => logger.trace(msg)

这只会传递 msg 信息而不传递 Sequelize 配置。见问题 7821

于 2017-09-20T17:39:07.643 回答