历史版本62 :报表日志 LogDB 数据库 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
为了加强对报表工程的管理,随时监控其运行状态,可以在平台中设置开启日志查看,如下图:
注:仅影响系统日志的输出,不影响操作日志。
2. logdb编辑
logdb是FineReport日志监控开启之后保存日志的内置数据库,那么FineReport日志都包含哪些内容呢?下面我们来介绍一下,logdb数据库中各个数据表的含义以及字段的转义。
2.1 连接logdb数据库
点击服务器>定义数据连接,新增一个JDBC数据连接
数据库选择others;
驱动器手动输入com.fr.swift.jdbc.Driver;
URL输入:jdbc:swift:emb://default(windows/linux/mac通用);
用户名和密码为空,如下图:
2.2 查看数据表
测试链接成功之后,我们新建一个数据库查询,选择上面创建的数据连接,即可看到日志数据库下面的所有数据表,如下图:
2.3 数据表和字段对应的含义
那么logdb数据库中各个数据表和表字段其含义到底是怎么样的呢?下面我们一个个罗列。
1)fine_record_execute
报表访问/导出/打印日志,即如果报表访问/导出/打印的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
id | 主键 |
tname | 物理模板名字(reportlet下的完整路径) |
displayName | 挂载到平台的目录名称(全路径),如果直接访问链接则为空 |
type | 报表访问方式,具体列举在下面的表格中(0~34) |
param | 参数 |
ip | 执行报表的IP地址 |
username | 执行报表的用户 |
userrole | 执行报表的用户角色 |
consume | 执行耗时,包括sql执行时间,报表计算时间 |
time | 日志开始时间 |
sql | sql语句 |
sqlTime | sql执行的总时间 |
browser | 客户端访问报表所用的浏览器版本 |
memory | 报表占用内存,单位B |
reportID | 模板编号 |
字段type具体含义:
编码 | 类型 | markString |
---|---|---|
0 | 分页预览 | page |
1 | 在线分析 | view |
2 | 填报预览 | write |
3 | 决策报表预览 | form |
4 | 行式引擎 | layer |
5 | 在线编辑 | edit |
6 | 新填报 | write_plus |
10 | Excel分页导出 | excel |
11 | Excel原样导出 | excelO |
12 | Excel整页导出 | excelL |
13 | Excel分页分sheet导出 | excelS |
14 | PDF导出 | |
15 | Word导出 | word |
16 | SVG导出 | svg |
17 | CSV导出 | csv |
18 | 文本导出 | text |
19 | JPG图片导出 | jpg |
20 | PNG图片导出 | png |
21 | GIF图片导出 | gif |
22 | BMP图片导出 | bmp |
23 | WBMP图片导出 | wbmp |
24 | 内置数据集导出模板 | cpt |
25 | HTML导出 | html |
26 | 填报HTML导出 | write_html |
27 | BI导出Excel | |
30 | Flash打印 | flash |
31 | PDF打印 | |
32 | Applet打印 | applet |
33 | 零客户端打印 | |
34 | 本地软件打印 |
2)fine_record_login
登录日志,记录用户登录信息:时间、ip地址、用户名及角色,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
time | 登录时间 |
ip | 登录ip地址 |
username | 登录的用户 |
userrole | 登陆的用户角色 |
3)fine_record_email
邮件发送日志(只包含工具栏中的“邮件”),即如果报表发送邮件的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
receiver | 收件人用户名 |
收件人邮箱 | |
ip | 发送邮件的IP地址 |
username | 发送邮件的用户 |
tname | 物理模板名字(reportlet下的完整路径) |
displayName | 挂载到平台的目录名称(全路径),如果直接访问链接则为空 |
content | 邮件内容 |
time | 发送时间 |
result | 是否发送成功 |
detail | 详情 |
4)fine_record_write
填报日志,即如果报表进行填报的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
username | 填报报表的用户 |
tname | 物理模板名字(reportlet下的完整路径) |
time | 填报时间 |
sql | sql语句 |
sqlTime | sql执行的总时间 |
result | 是否填报成功 |
ip | 填报报表的IP地址 |
displayName | 挂载到平台的目录名称(全路径),如果直接访问链接则为空 |
detail | 详情 |
browser | 客户端访问报表所用的浏览器版本 |
consume | 执行耗时,包括sql执行时间,报表计算时间 |
5)fine_record_error
执行出错日志,即如果报表执行的过程中报错的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
displayName | 挂载到平台的目录名称(全路径),如果直接访问链接则为空 |
ip | 执行报表的IP地址 |
msg | 错误信息 |
time | 出错记录时间 |
tname | 出错的物理模板名字(reportlet下的完整路径) |
trace | 错误路径 |
username | 执行报表的用户 |
userrole | 执行报表的用户角色 |
注:如果不是模板出错,则tname记录为“非模板触发错误”
6)fine_record_func
功能点使用日志,即使报表用功能点的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
func | 功能点(值以数组展示:功能:次数,功能:次数) |
time | 记录时间 |
7)fine_record_param
常用参数组合日志,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
templateid | 模板ID |
username | 用户 |
pgroup | 参数(值以数组展示:参数1:参数值,参数2:参数值) |
time | 记录时间 |
8)fine_record_sms
短信发送日志,即如果发送短信的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
receiver | 收件人用户名 |
mobile | 接收人手机号 |
content | 邮件内容 |
time | 发送时间 |
result | 是否发送成功 |
detail | 详情 |
sender | 发件人用户名 |
9)fine_record_operate
管理日志,即用户对模块进行操作的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:
字段 | 含义 |
---|---|
type | 模块(存国际化的key) |
item | 设置项 |
resource | 被访问资源 |
operation | 操作 |
username | 用户名 |
ip | 用户IP地址 |
time | 用户操作时间 |
detail | 详情 |
requestParam | 请求参数 |
10)fine_record_sql
sql执行表
字段 | 含义 |
---|---|
columns | 数据集规模,列 |
dsname | 数据集的名称 |
executeid | 执行表id |
rows | 数据集规模,行 |
sqltime | sql执行时间,单位毫秒 |
11)fine_intelli_focus_point
设计器功能点使用信息
字段 | 含义 |
---|---|
id | 功能点ID |
text | 国际化 |
source | 功能点的类型,1是内置jar包的功能点,2是插件功能点 |
time | 用户操作时间 |
username | 用户名 |
ip | 用户IP地址 |
title | 平台模板名 |
12)fine_real_time_usage
应用实时情况
字段 | 含义 |
---|---|
cpu | cpu利用率 |
memory | 当前jvm内存情况 |
time | 记录时间,每分钟一条 |
13)fine_tpl_info
模板属性,每周执行一次,记录一次
字段 | 含义 |
---|---|
id | 主键 |
tid | 模板id |
tname | 物理模板名字(reportlets下的完整路径) |
cnums | 条件属性个数 |
formnums | 公式个数 |
sheetnums | 多sheet个数 |
dsnums | 数据集个数 |
compformnums | 复杂公式的个数(包括层次坐标、sql、value公式) |
submitnums | 内置提交的个数 |
isfrozen | 是否使用了冻结 |
isfoldtree | 是否使用了折叠树 |
widgetnums | 控件个数 |
tsize | 模板总大小 |
imgsize | 模板里图片的大小 |
execute0- execute4 | 执行时间的5级的分段记录,具体分级由网址管理中心(SiteCenter)动态管理 |
mem0- mem4 | 内存使用量的5级的分段记录,具体分级由网址管理中心(SiteCenter)动态管理 |
sql0- sql4 | sql执行时间的5级的分段记录,具体分级由网址管理中心(SiteCenter)动态管理 |
recordtime | 记录时间 |
3. 查询语法编辑
3.1 明细查询
sql语句示例:
1)select * from fine_record_execute
2)select tname, displayName, consume from fine_record_execute
3.2 group by查询
group by查询,有sum、count、max、min、avg 这五种聚合方式,如果什么都不写,会默认count
sql语句示例:
1)select sum(consume) from fine_record_execute group by tname, displayName
2)select consume from fine_record_execute group by tname, displayName
3)select min(consume), max(consume) from fine_record_execute group by tname, displayName
3.3 where过滤条件
简单的where过滤条件,支持 AND, OR, =,<>,>,>=, <,<=, in, isnull
sql语句示例:
1)select * from fine_record_execute where consume > 10
2)select sum(consume) from fine_record_execute where consume > 10 and consume < 100 group by tname, displayName
3)select consume from fine_record_execute where tname = `doc/Advanced/Chart/GraphSwitching/多图表实现统一切换.frm`
4)select sum(consume) from fine_record_execute where tname in (`doc/Advanced/Chart/GraphSwitching/多图表实现统一切换.frm`, `doc/Advanced/Chart/Combination/柱形-面积组合图.cpt`) group by tname, displayName