【问题标题】:How to show queries in console log using sails?如何使用sails在控制台日志中显示查询?
【发布时间】:2014-04-19 12:17:04
【问题描述】:

我正在使用sails 和mysql 启动一个项目,但我不知道如何配置它以显示在控制台中执行的查询。

【问题讨论】:

    标签: node.js sails.js waterline


    【解决方案1】:

    mysql 适配器有一个调试变量 LOG_QUERIES 将所有查询发送到控制台。

    LOG_QUERIES=true node myFile.js

    【讨论】:

    • 这很好用,该变量在文件中:sails-mysql/lib/adapter.js 谢谢!!! :D
    • 这项工作非常感谢,@user1278519 和 mzalazar。
    • 注意这是一个环境变量。
    【解决方案2】:

    很遗憾,目前 Sails 无法实现这一点,尽管该功能已被请求。最好的办法是检查数据库提供的日志文件:

    Postgres:How to log PostgreSQL queries?

    MySQL:Log all queries in mysql

    MongoDB:MongoDB logging all queries

    【讨论】:

    • 使用下面提到的LOG_QUERIES=true node myFile.js
    • LOG_QUERIES=true 不再适用于sails 1.1
    【解决方案3】:

    如果您在 Mac OS 上使用 Postgresql.app 进行 Sails.js 开发,您可以启用所有查询日志记录,如下所示:

    在新终端中,编辑~/Library/Application Support/Postgres/var/postgresql.conf 并设置:

    logging_collector = on
    log_directory = 'pg_log'
    log_statement = 'all'
    

    然后重启 Postgresql.app(点击菜单栏图标,退出,然后使用 Spotlight 重新启动)。

    然后在日志尾部添加:

    tail -F ~/Library/Application\ Support/Postgres/var/pg_log/postgresql-2014-10-30_104957.log 
    

    您必须找到最新的 postgresql-*log 并替换上面的内容。

    【讨论】:

    • 最新的 postgresql.app 的 var 文件夹名为 var-9.*
    【解决方案4】:

    我的回答可能很晚,但刚刚找到了一个可能对人们有所帮助的解决方案 帆版 = 0.12.14

    要记录查询,请执行以下操作

    导航到 node_modules\sails-mysql\lib\adapter.js

    找到“log”的变量声明

    然后将“process.env.LOG_QUERIES”更改为“sails.config.LOG_QUERIES

    导航到

    [sails root]/config/env/[开发或生产].js

    添加

    LOG_QUERIES = 'true',
    

    注意 :- 记得为 true

    加上 "" 或 ''

    【讨论】:

      【解决方案5】:

      此解决方案适用于帆 >= 1.1。

      sails-mysql(从 v1.0.0 开始)适配器使用 machinepack-mysql 驱动程序,它将查询记录到 debug。因此,记录所有本机查询所需要做的就是启用调试标志:

      DEBUG=query node app.js
      

      【讨论】:

      • 它也适用于sails-mssql/sails-sqlserver 适配器。
      【解决方案6】:

      或者添加日志到sql模块。

      在 mysql 中是:

      working_dir/node_modules/sails-mysql/node_modules/mysql/lib/Connection.js
      
      function **createQuery** (33)
      

      【讨论】:

        【解决方案7】:

        LOG_QUERIES = '真'

        在风帆升降命令中

        【讨论】:

          【解决方案8】:

          只需将其添加到您的数据存储区

          调试:["ComQueryPacket"]

          config/datastores.js 应该是这样的

          module.exports.datastores = {
            default: {
              adapter: 'sails-mysql',
              user: '*****',
              password: "****",
              host: '*****',
              database: '****',
              debug: ["ComQueryPacket"]
            }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-25
            • 1970-01-01
            • 1970-01-01
            • 2019-06-03
            相关资源
            最近更新 更多