首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sequelize日志记录只记录SQL,用于审计日志记录?

使用Sequelize日志记录只记录SQL,用于审计日志记录?
EN

Stack Overflow用户
提问于 2017-02-09 05:36:28
回答 1查看 404关注 0票数 0

在Sequelize中进行日志记录时,是否可以只获取SQL?作为审计过程的一部分,我希望记录所有修改的SQL语句,但对日志记录函数的调用收到以下形式的文本:

代码语言:javascript
复制
 Executing (9dcde3e9-cd1c-4964-bf87-a29d75a8c76e): INSERT INTO `login_attempts` VALUES (1,'bob@example.com',1,'2016-11-30 18:20:26.540 +00:00');

在我的Node.JS中,我可以做这样的事情,尽管我想知道是否有可能有更简单的东西,因为它将在对数据库的每一次操作中调用:

代码语言:javascript
复制
if (operation.startsWith('Executing') && operation.indexOf(':') > -1) {
   var str = operation.substring(operation.indexOf(':') + 2, operation.length);
   if (str.startsWith('INSERT') || str.startsWith('DELETE') || str.startsWith('UPDATE')) {
       logFile.write(str);
   }
}

我的需求是审计,所以如果这是创建审计日志的错误方法,我会对替代建议感兴趣。

EN

回答 1

Stack Overflow用户

发布于 2017-03-10 20:04:23

在我看来,使用正则表达式要简单得多。对于你的案例

logFile.write(operation.replace(/Executing \([^\)]*\):\s*/, ''));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42124082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档