...
可以通过什么方式获取用户在smartbi操作时相关的知识库执行SQL?
解决方案
(smartbi v95 版本以上(不含v97)2021年中后版本支持,v97版本2022年3月中旬版本支持版本以上(不含v97)2021年6月后版本支持,v97版本2022年3月中旬后版本支持)
具体步骤如下:
1、修改系统监控日志级别
管理员角色打开系统监控-log4j信息
...
在如下图区域输入框新增一行lo4j信息日志级别:common.repository.sql,下拉框选择 DEBUGDEBUG,或trace(可以输出执行耗时)
填写完成后,点击底部的修改按钮。
2、实时查看执行sql
...
系统监控-日志,点击开始监控,然后用户去smartbi界面操作,再看系统监控输出用户日志 ,就能看到执行了哪些sql,如下图,sql is后面拼接的字符串是一条sql语句:
左边较长字符串是会话id,同一个用户其会话是一样的,左边较长字符串是会话id,[]里面是用户名里面是用户名,
上面这个图的用户名是c,代表这个sql是c用户操作产生的上面这个图的用户名是c,代表这个sql是c用户操作产生的,
若日志太多 ,可在过滤输入框输入会话id过滤,可在过滤输入框输入会话id过滤,
NOT_LOGGED_IN : 代表还没有登录的会话标识IN 代表还没有登录的会话标识,
会话id一致,代表同一个用户在一个客户端上操作的记录。
上图中sql中带有“上图中sql中经常是带有“?”的,其执行时实际的值会打印在后面的中括号中,实际执行的sql需要将中括号中的值按顺序替换问号,并根据数据库表对应字段的数据类型确定sql语句替换问号后拼接的值需不需要添加单引号。”的,其执行时实际的值会打印在后面的中括号中,实际执行的sql语句需要将中括号中的值按顺序替换上图sql的问号,并根据数据库表对应字段的数据类型确定替换问号的值需不需要添加单引号。
如果打出来的sql语句没有问号 ,则中括号内一般为空。
...