1. 说明
目前 Smartbi 的操作日志默认存储在知识库表“t_operationlog”中,可在“系统运维”>“操作日志”中查看,详情参考 操作日志 。
如果在项目中要统一管理操作日志,若需要将 Smartbi 的操作日志按指定的形式输出到指定的地方,可参考本示例开发扩展包,预期效果如下:
2. 实现步骤
1、在扩展包中新建一个Java类com2.1. 在插件包中新建一个Java类com.log.takeover.log.LogSyncDemo,并且实现接口 smartbi.repository.IOperationLogReceiver。
代码块 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/**
* 添加操作日志
* @param logInfo
* JSON对象:{userName: "", userAlias: "", type: "", detail: "", sessionId: "",
* moreDetail: [type: "", name: "", value: "", order: ""]}
*
* JSON对象中type属性的类型比较多,具体信息可参考BI知识库表"t_operationlog_type"
* moreDetail的type目前有"STRING"、"TEXT"、"SQL"这三种
*/
@Override
public void addOperationLog(JSONObject logInfo) {
}
/**
* 配置日志保存类
* @param context 应用的上下文对象
*/
@Override
public void config(ServletContext context) throws IOException {
} |
2、编辑Smartbi服务器配置文件smartbi2.2. 编辑Smartbi服务器配置文件smartbi-config.xml,如下图红色框所示。在已有节点smartbi下面新增子节点operationlog,接着在节点operationlog下新增子节点preserver-class,其属性值为 LogSyncDemo 类的全名 com.log.takeover.log.LogSyncDemo。
3、gif演示示例的源码请参考:
2.3. gif演示示例的源码请参考:操作日志重定向.rar