From 6e71e856005eac0139ede73d851b88536722d595 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Thu, 22 Mar 2018 21:57:52 +0800 Subject: [PATCH] =?UTF-8?q?sys=5Flog=20=E8=A1=A8=E5=A2=9E=E5=8A=A0=20=20ex?= =?UTF-8?q?ecute=5Ftime=20=E6=89=A7=E8=A1=8C=E6=97=B6=E9=97=B4=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/core/db/core.erm | 1499 +++++++++-------- modules/core/db/mssql/core.sql | 1 + modules/core/db/mysql/core.sql | 1 + modules/core/db/oracle/core.sql | 2 + modules/core/db/postgresql/core.sql | 2 + .../common/shiro/filter/LogoutFilter.java | 3 +- .../common/shiro/realm/AuthorizingRealm.java | 4 +- .../jeesite/modules/sys/db/InitCoreData.xlsx | Bin 163895 -> 163707 bytes .../com/jeesite/modules/sys/entity/Log.java | 15 + .../sys/interceptor/LogInterceptor.java | 19 +- .../jeesite/modules/sys/utils/LogUtils.java | 8 +- .../db/upgrade/core/mssql/mssql_4.0.1.sql | 7 + .../db/upgrade/core/mysql/mysql_4.0.1.sql | 8 + .../db/upgrade/core/oracle/oracle_4.0.1.sql | 8 + .../db/upgrade/core/oracle/oracle_4.0.xx.sql | 7 - .../core/postgresql/postgresql_4.0.1.sql | 8 + .../resources/views/modules/sys/logForm.html | 11 + .../resources/views/modules/sys/logList.html | 3 +- web/db/mssql/core.sql | 1 + web/db/mysql/core.sql | 1 + web/db/mysql/create_user.sql | 3 +- web/db/oracle/core.sql | 2 + web/db/postgresql/core.sql | 2 + 23 files changed, 867 insertions(+), 748 deletions(-) create mode 100644 modules/core/src/main/resources/db/upgrade/core/mssql/mssql_4.0.1.sql create mode 100644 modules/core/src/main/resources/db/upgrade/core/mysql/mysql_4.0.1.sql create mode 100644 modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.1.sql delete mode 100644 modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.xx.sql create mode 100644 modules/core/src/main/resources/db/upgrade/core/postgresql/postgresql_4.0.1.sql diff --git a/modules/core/db/core.erm b/modules/core/db/core.erm index 3e50c377..bb333442 100644 --- a/modules/core/db/core.erm +++ b/modules/core/db/core.erm @@ -10,9 +10,9 @@ 30 0 - 0.5 - 717 - 685 + 0.8 + 0 + 1406 128 128 @@ -887,6 +887,22 @@ exception_info clob + + 510f647b2d9d95b636aa517b9826966d98962277 + 19 + null + false + null + false + false + false + + false + + 执行时间 + execute_time + decimal(p) + f01926071736b56b898949cc0720149c71504324 null @@ -5202,728 +5218,6 @@ - - f28f824baf21270b29ed2ce3406dc72ea0993578 - 359 - 361 - Segoe UI - 9 - 761 - 564 - - 128 - 128 - 192 - - - - 5d4e8745b2660e2a5494cd668f6573a85d938f4d - fbddb203edfde98403ee9e60374f71e993a8f879 - f28f824baf21270b29ed2ce3406dc72ea0993578 - -1 - -1 - -1 - -1 - - 0 - 0 - 0 - - 1..n - 0..1 - true - - RESTRICT - RESTRICT - null - null - - - 5f7b730666b316238ee57aef6dde62da05a3f657 - d8b7ee2b5b212db5d77eaf3da4c408bba6fbc4c4 - f28f824baf21270b29ed2ce3406dc72ea0993578 - -1 - -1 - -1 - -1 - - 0 - 0 - 0 - - 1..n - 1 - true - - RESTRICT - RESTRICT - null - null - - - js_sys_employee - 员工表 - - - - - - - 0eb719cd3d6524bc3778d73c3634c1b976baa3c7 - ab8b402ea35a78cdadd5ed446d571c9a80b532ee - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - - 125f4be73b069fa39d11d391ebc30169bb835827 - e0ee6264e4415cc7d534335a38f6dbec62822900 - - - - - nvarchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 8e6503837a4993eab7dd018391909b3a9185f0bd - 28440c39441334f1eacbfa49440ebfc746edbada - - - - - varchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - b0ac1bfb9a465a46257d8e043e8d0370feb0ee7c - 512f24dbe486a211117dfb58e689ef3e0e5009a0 - 5f7b730666b316238ee57aef6dde62da05a3f657 - - - - - varchar(n) - - - false - true - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 2b8439b512c0d6df70ca5f7c65bfd30a32def655 - 2f53aa3a1613598e128ad9cab02374b32d9bf70b - - - - - nvarchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - 76ab6ac096fb9c9be7bf61df683ce21a3da0c33d - 5ac7f3a7a755a58e6119c8d4922df644559e632f - 5d4e8745b2660e2a5494cd668f6573a85d938f4d - - - - - varchar(n) - - - false - true - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - f0f47249781a8c1e655ae11236426b788f099fce - 653e75ecac41402f2d2bcea19230b9cb17536776 - - - - - nvarchar(n) - - - false - false - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - cf949a5f8d12902f0a8384fa68c72f55e6136812 - ebe0900f7c091a4c0c47ec7fb29f4a9d586cf74b - - - - - character(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 85024a2953cf3e3c9c1cce49b2351853ab0d125b - ea920cba2fe0eaee64a2310ece7cda4b198b37ec - - - - false - true - idx_sys_employee_cco - - - - - 76ab6ac096fb9c9be7bf61df683ce21a3da0c33d - false - - - - - false - true - idx_sys_employee_cc - - - - - b8ea4b73d6d32a222e5abfd453287575ae518480 - false - - - - - false - true - idx_sys_employee_ud - - - - - ee78b079f7d319bf8119fd01439cd97424ff49fa - false - - - - - false - true - idx_sys_employee_oc - - - - - b0ac1bfb9a465a46257d8e043e8d0370feb0ee7c - false - - - - - false - true - idx_sys_employee_status - - - - - ebe0900f7c091a4c0c47ec7fb29f4a9d586cf74b - false - - - - - - - - - -
- - fbddb203edfde98403ee9e60374f71e993a8f879 - 863 - 338 - Segoe UI - 9 - 790 - 1037 - - 128 - 128 - 192 - - - - 1b0ca6438eaa1bbc9b5d9d3a57bcaea05f3c517e - 946125b4f4f238f3cca2cc7e1450150e8358e30e - fbddb203edfde98403ee9e60374f71e993a8f879 - -1 - -1 - -1 - -1 - - 0 - 0 - 0 - - 1..n - 0..1 - true - - RESTRICT - RESTRICT - null - null - - - js_sys_company - 公司表 - - - - - - - 8b9e1b544f371e8c2350ab8926707418a6ea8fdf - 5ac7f3a7a755a58e6119c8d4922df644559e632f - - - - - varchar(n) - - - false - false - true - true - false - - - - - - - - - - - false - false - false - - - 0 - - - a535b6c506004a7fdf4d48984c9ff2cfa59c157a - - 5574844cb0d58e6bdfa1ca122c6cca8c5b27602a - 7c46717b372c8596c8138ff412b0363bea79262f - - - - - varchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - f0f47249781a8c1e655ae11236426b788f099fce - bb54ac3b2667504dc519cb88904db1337b64704e - - - - - nvarchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - cc2d46a644ef882366305e786927e310dc7945cb - 0bc7917672103a43ef4220fe999083a392356666 - - - - - nvarchar(n) - - - false - false - true - false - false - - - - - - - - - - - false - false - false - - - 0 - - - - bdc9f61f5a7bd4a53e05d939ea82f9885c78eb01 - 84fb98359c82f62d61719d8ce1d1f850d69d972f - 1b0ca6438eaa1bbc9b5d9d3a57bcaea05f3c517e - - - - - varchar(n) - - - false - true - false - false - false - - - - - - - - - - - false - false - false - - - 0 - - - 35ae805d1da92afdb99b2fe8c536d1649356fccd - ea920cba2fe0eaee64a2310ece7cda4b198b37ec - 118dab95fc1f792cd468b9f66af2d4fabd98c39b - - - - false - true - idx_sys_company_cc - - - - - b8ea4b73d6d32a222e5abfd453287575ae518480 - false - - - - - false - true - idx_sys_company_pc - - - - - 394369b90c0a5b6efeed3cf823c642605d7a1653 - false - - - - - false - true - idx_sys_company_ts - - - - - 23f973124aedd0244533f4e7b3b103c548b966be - false - - - - - false - true - idx_sys_company_status - - - - - f0036584bd8711715579d21994a0105935605a7e - false - - - - - false - true - idx_sys_company_vc - - - - - 7c46717b372c8596c8138ff412b0363bea79262f - false - - - - - false - true - idx_sys_company_pcs - - - - - e8d877396943acfec73023dba2c1c6e3d7802d62 - false - - - - - false - true - idx_sys_company_tss - - - - - 984d5eac2b3221118a61655e4a5a49c78e0f0151 - false - - - - - - - - - -
d3c8f931c968489a14e2fb958b6a376a6a5dd685 108 @@ -14338,6 +13632,39 @@ 0 + + 510f647b2d9d95b636aa517b9826966d98962277 + a066f670f69ee4fff51f21f262236b223733fea7 + + + + + decimal(p) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + ea920cba2fe0eaee64a2310ece7cda4b198b37ec @@ -14439,6 +13766,728 @@ + + fbddb203edfde98403ee9e60374f71e993a8f879 + 863 + 338 + Segoe UI + 9 + 790 + 1037 + + 128 + 128 + 192 + + + + 1b0ca6438eaa1bbc9b5d9d3a57bcaea05f3c517e + 946125b4f4f238f3cca2cc7e1450150e8358e30e + fbddb203edfde98403ee9e60374f71e993a8f879 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 0..1 + true + + RESTRICT + RESTRICT + null + null + + + js_sys_company + 公司表 + + + + + + + 8b9e1b544f371e8c2350ab8926707418a6ea8fdf + 5ac7f3a7a755a58e6119c8d4922df644559e632f + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + a535b6c506004a7fdf4d48984c9ff2cfa59c157a + + 5574844cb0d58e6bdfa1ca122c6cca8c5b27602a + 7c46717b372c8596c8138ff412b0363bea79262f + + + + + varchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + f0f47249781a8c1e655ae11236426b788f099fce + bb54ac3b2667504dc519cb88904db1337b64704e + + + + + nvarchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + cc2d46a644ef882366305e786927e310dc7945cb + 0bc7917672103a43ef4220fe999083a392356666 + + + + + nvarchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + bdc9f61f5a7bd4a53e05d939ea82f9885c78eb01 + 84fb98359c82f62d61719d8ce1d1f850d69d972f + 1b0ca6438eaa1bbc9b5d9d3a57bcaea05f3c517e + + + + + varchar(n) + + + false + true + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + 35ae805d1da92afdb99b2fe8c536d1649356fccd + ea920cba2fe0eaee64a2310ece7cda4b198b37ec + 118dab95fc1f792cd468b9f66af2d4fabd98c39b + + + + false + true + idx_sys_company_cc + + + + + b8ea4b73d6d32a222e5abfd453287575ae518480 + false + + + + + false + true + idx_sys_company_pc + + + + + 394369b90c0a5b6efeed3cf823c642605d7a1653 + false + + + + + false + true + idx_sys_company_ts + + + + + 23f973124aedd0244533f4e7b3b103c548b966be + false + + + + + false + true + idx_sys_company_status + + + + + f0036584bd8711715579d21994a0105935605a7e + false + + + + + false + true + idx_sys_company_vc + + + + + 7c46717b372c8596c8138ff412b0363bea79262f + false + + + + + false + true + idx_sys_company_pcs + + + + + e8d877396943acfec73023dba2c1c6e3d7802d62 + false + + + + + false + true + idx_sys_company_tss + + + + + 984d5eac2b3221118a61655e4a5a49c78e0f0151 + false + + + + + + + + + +
+ + f28f824baf21270b29ed2ce3406dc72ea0993578 + 359 + 361 + Segoe UI + 9 + 761 + 564 + + 128 + 128 + 192 + + + + 5d4e8745b2660e2a5494cd668f6573a85d938f4d + fbddb203edfde98403ee9e60374f71e993a8f879 + f28f824baf21270b29ed2ce3406dc72ea0993578 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 0..1 + true + + RESTRICT + RESTRICT + null + null + + + 5f7b730666b316238ee57aef6dde62da05a3f657 + d8b7ee2b5b212db5d77eaf3da4c408bba6fbc4c4 + f28f824baf21270b29ed2ce3406dc72ea0993578 + -1 + -1 + -1 + -1 + + 0 + 0 + 0 + + 1..n + 1 + true + + RESTRICT + RESTRICT + null + null + + + js_sys_employee + 员工表 + + + + + + + 0eb719cd3d6524bc3778d73c3634c1b976baa3c7 + ab8b402ea35a78cdadd5ed446d571c9a80b532ee + + + + + varchar(n) + + + false + false + true + true + false + + + + + + + + + + + false + false + false + + + 0 + + + + 125f4be73b069fa39d11d391ebc30169bb835827 + e0ee6264e4415cc7d534335a38f6dbec62822900 + + + + + nvarchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 8e6503837a4993eab7dd018391909b3a9185f0bd + 28440c39441334f1eacbfa49440ebfc746edbada + + + + + varchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + b0ac1bfb9a465a46257d8e043e8d0370feb0ee7c + 512f24dbe486a211117dfb58e689ef3e0e5009a0 + 5f7b730666b316238ee57aef6dde62da05a3f657 + + + + + varchar(n) + + + false + true + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 2b8439b512c0d6df70ca5f7c65bfd30a32def655 + 2f53aa3a1613598e128ad9cab02374b32d9bf70b + + + + + nvarchar(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + 76ab6ac096fb9c9be7bf61df683ce21a3da0c33d + 5ac7f3a7a755a58e6119c8d4922df644559e632f + 5d4e8745b2660e2a5494cd668f6573a85d938f4d + + + + + varchar(n) + + + false + true + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + f0f47249781a8c1e655ae11236426b788f099fce + 653e75ecac41402f2d2bcea19230b9cb17536776 + + + + + nvarchar(n) + + + false + false + false + false + false + + + + + + + + + + + false + false + false + + + 0 + + + + cf949a5f8d12902f0a8384fa68c72f55e6136812 + ebe0900f7c091a4c0c47ec7fb29f4a9d586cf74b + + + + + character(n) + + + false + false + true + false + false + + + + + + + + + + + false + false + false + + + 0 + + + 85024a2953cf3e3c9c1cce49b2351853ab0d125b + ea920cba2fe0eaee64a2310ece7cda4b198b37ec + + + + false + true + idx_sys_employee_cco + + + + + 76ab6ac096fb9c9be7bf61df683ce21a3da0c33d + false + + + + + false + true + idx_sys_employee_cc + + + + + b8ea4b73d6d32a222e5abfd453287575ae518480 + false + + + + + false + true + idx_sys_employee_ud + + + + + ee78b079f7d319bf8119fd01439cd97424ff49fa + false + + + + + false + true + idx_sys_employee_oc + + + + + b0ac1bfb9a465a46257d8e043e8d0370feb0ee7c + false + + + + + false + true + idx_sys_employee_status + + + + + ebe0900f7c091a4c0c47ec7fb29f4a9d586cf74b + false + + + + + + + + + +
diff --git a/modules/core/db/mssql/core.sql b/modules/core/db/mssql/core.sql index d0828fe0..e2a9d53c 100644 --- a/modules/core/db/mssql/core.sql +++ b/modules/core/db/mssql/core.sql @@ -337,6 +337,7 @@ CREATE TABLE [js_sys_log] [user_agent] nvarchar(500), [device_name] varchar(100), [browser_name] varchar(100), + [execute_time] decimal(19), [corp_code] varchar(64) DEFAULT '0' NOT NULL, [corp_name] nvarchar(100) DEFAULT 'JeeSite' NOT NULL, PRIMARY KEY ([id]) diff --git a/modules/core/db/mysql/core.sql b/modules/core/db/mysql/core.sql index 722c0be1..a9bec3c0 100644 --- a/modules/core/db/mysql/core.sql +++ b/modules/core/db/mysql/core.sql @@ -340,6 +340,7 @@ CREATE TABLE js_sys_log user_agent varchar(500) COMMENT '用户代理', device_name varchar(100) COMMENT '设备名称/操作系统', browser_name varchar(100) COMMENT '浏览器名称', + execute_time decimal(19) COMMENT '执行时间', corp_code varchar(64) DEFAULT '0' NOT NULL COMMENT '归属集团Code', corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL COMMENT '归属集团Name', PRIMARY KEY (id) diff --git a/modules/core/db/oracle/core.sql b/modules/core/db/oracle/core.sql index 740371f1..e32d5a78 100644 --- a/modules/core/db/oracle/core.sql +++ b/modules/core/db/oracle/core.sql @@ -337,6 +337,7 @@ CREATE TABLE js_sys_log user_agent nvarchar2(500), device_name varchar2(100), browser_name varchar2(100), + execute_time number(19), corp_code varchar2(64) DEFAULT '0' NOT NULL, corp_name nvarchar2(100) DEFAULT 'JeeSite' NOT NULL, PRIMARY KEY (id) @@ -1081,6 +1082,7 @@ COMMENT ON COLUMN js_sys_log.exception_info IS '异常信息'; COMMENT ON COLUMN js_sys_log.user_agent IS '用户代理'; COMMENT ON COLUMN js_sys_log.device_name IS '设备名称/操作系统'; COMMENT ON COLUMN js_sys_log.browser_name IS '浏览器名称'; +COMMENT ON COLUMN js_sys_log.execute_time IS '执行时间'; COMMENT ON COLUMN js_sys_log.corp_code IS '归属集团Code'; COMMENT ON COLUMN js_sys_log.corp_name IS '归属集团Name'; COMMENT ON TABLE js_sys_menu IS '菜单表'; diff --git a/modules/core/db/postgresql/core.sql b/modules/core/db/postgresql/core.sql index 1b43885f..99e97fd7 100644 --- a/modules/core/db/postgresql/core.sql +++ b/modules/core/db/postgresql/core.sql @@ -337,6 +337,7 @@ CREATE TABLE js_sys_log user_agent varchar(500), device_name varchar(100), browser_name varchar(100), + execute_time decimal(19), corp_code varchar(64) DEFAULT '0' NOT NULL, corp_name varchar(100) DEFAULT 'JeeSite' NOT NULL, PRIMARY KEY (id) @@ -1081,6 +1082,7 @@ COMMENT ON COLUMN js_sys_log.exception_info IS '异常信息'; COMMENT ON COLUMN js_sys_log.user_agent IS '用户代理'; COMMENT ON COLUMN js_sys_log.device_name IS '设备名称/操作系统'; COMMENT ON COLUMN js_sys_log.browser_name IS '浏览器名称'; +COMMENT ON COLUMN js_sys_log.execute_time IS '执行时间'; COMMENT ON COLUMN js_sys_log.corp_code IS '归属集团Code'; COMMENT ON COLUMN js_sys_log.corp_name IS '归属集团Name'; COMMENT ON TABLE js_sys_menu IS '菜单表'; diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/filter/LogoutFilter.java b/modules/core/src/main/java/com/jeesite/common/shiro/filter/LogoutFilter.java index e17c567d..4fd9c932 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/filter/LogoutFilter.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/filter/LogoutFilter.java @@ -18,6 +18,7 @@ import com.jeesite.common.config.Global; import com.jeesite.common.web.http.ServletUtils; import com.jeesite.modules.sys.entity.Log; import com.jeesite.modules.sys.utils.LogUtils; +import com.jeesite.modules.sys.utils.UserUtils; /** * 登出过滤器 @@ -36,7 +37,7 @@ public class LogoutFilter extends org.apache.shiro.web.filter.authc.LogoutFilter //try/catch added for SHIRO-298: try { // 记录用户退出日志 - LogUtils.saveLog(ServletUtils.getRequest(), "系统退出", Log.TYPE_LOGIN_LOGOUT); + LogUtils.saveLog(UserUtils.getUser(), ServletUtils.getRequest(), "系统退出", Log.TYPE_LOGIN_LOGOUT); // 退出登录 subject.logout(); } catch (SessionException ise) { diff --git a/modules/core/src/main/java/com/jeesite/common/shiro/realm/AuthorizingRealm.java b/modules/core/src/main/java/com/jeesite/common/shiro/realm/AuthorizingRealm.java index ddf756b3..14f99948 100644 --- a/modules/core/src/main/java/com/jeesite/common/shiro/realm/AuthorizingRealm.java +++ b/modules/core/src/main/java/com/jeesite/common/shiro/realm/AuthorizingRealm.java @@ -58,13 +58,13 @@ public class AuthorizingRealm extends com.jeesite.common.shiro.realm.BaseAuthori userService.updateUserLoginInfo(user); // 记录用户登录日志 - LogUtils.saveLog(ServletUtils.getRequest(), "系统登录", Log.TYPE_LOGIN_LOGOUT); + LogUtils.saveLog(user, ServletUtils.getRequest(), "系统登录", Log.TYPE_LOGIN_LOGOUT); } @Override public void onLogoutSuccess(User logoutUser, HttpServletRequest request) { // 记录用户退出日志 - LogUtils.saveLog(logoutUser, request, null, null, "系统退出", Log.TYPE_LOGIN_LOGOUT); + LogUtils.saveLog(logoutUser, request, "系统退出", Log.TYPE_LOGIN_LOGOUT); } public void setUserService(UserService userService) { diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx b/modules/core/src/main/java/com/jeesite/modules/sys/db/InitCoreData.xlsx index dc5b0530f23b373bd50e8fc8881f1074c089c20e..70b1a9db96dc2881cb47d19e156194c9de2ef966 100644 GIT binary patch delta 47881 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%0DECqvaBO-dk80WF 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 Z;QD{uj-1DH{L) delta 48120 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 { @@ -68,6 +70,7 @@ public class Log extends DataEntity { private String userAgent; // 用户代理 private String deviceName; // 设备名称/操作系统 private String browserName; // 浏览器名称 + private Long executeTime; // 执行时间 private Map paramsMap; // 操作提交的数据,临时存储用 @@ -206,6 +209,18 @@ public class Log extends DataEntity { this.browserName = browserName; } + public Long getExecuteTime() { + return executeTime; + } + + public void setExecuteTime(Long executeTime) { + this.executeTime = executeTime; + } + + public String getExecuteTimeFormat(){ + return TimeUtils.formatDateAgo(executeTime); + } + /** * 设置请求参数 * @param paramMap diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java index e66c8cd1..477aad97 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/interceptor/LogInterceptor.java @@ -12,6 +12,7 @@ import org.springframework.core.NamedThreadLocal; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; +import com.jeesite.common.datasource.DataSourceHolder; import com.jeesite.common.lang.DateUtils; import com.jeesite.common.lang.TimeUtils; import com.jeesite.common.service.BaseService; @@ -31,9 +32,9 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + long beginTime = System.currentTimeMillis();// 1、开始时间 + startTimeThreadLocal.set(beginTime); // 线程绑定变量(该数据只有当前请求的线程可见) if (logger.isDebugEnabled()){ - long beginTime = System.currentTimeMillis();//1、开始时间 - startTimeThreadLocal.set(beginTime); //线程绑定变量(该数据只有当前请求的线程可见) logger.debug("开始计时: {} URI: {}", new SimpleDateFormat("hh:mm:ss.SSS") .format(beginTime), request.getRequestURI()); } @@ -51,19 +52,23 @@ public class LogInterceptor extends BaseService implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { + long beginTime = startTimeThreadLocal.get();// 得到线程绑定的局部变量(开始时间) + long endTime = System.currentTimeMillis(); // 2、结束时间 + long executeTime = endTime - beginTime; // 3、获取执行时间 + startTimeThreadLocal.remove(); // 用完之后销毁线程变量数据 + + // 恢复多数据源参数,使用默认数据源 + DataSourceHolder.clearDataSourceName(); // 保存日志 - LogUtils.saveLog(UserUtils.getUser(), request, handler, ex, null, null); + LogUtils.saveLog(UserUtils.getUser(), request, handler, ex, null, null, executeTime); // 打印JVM信息。 if (logger.isDebugEnabled()){ - long beginTime = startTimeThreadLocal.get();//得到线程绑定的局部变量(开始时间) - long endTime = System.currentTimeMillis(); //2、结束时间 logger.debug("计时结束: {} 用时: {} URI: {} 最大内存: {}m 已分配内存: {}m 已分配内存中的剩余空间: {}m 最大可用内存: {}m", - DateUtils.formatDate(endTime, "hh:mm:ss.SSS"), TimeUtils.formatDateAgo(endTime - beginTime), + DateUtils.formatDate(endTime, "hh:mm:ss.SSS"), TimeUtils.formatDateAgo(executeTime), request.getRequestURI(), Runtime.getRuntime().maxMemory()/1024/1024, Runtime.getRuntime().totalMemory()/1024/1024, Runtime.getRuntime().freeMemory()/1024/1024, (Runtime.getRuntime().maxMemory()-Runtime.getRuntime().totalMemory()+Runtime.getRuntime().freeMemory())/1024/1024); - startTimeThreadLocal.remove(); //用完之后销毁线程变量数据 } } diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java b/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java index 8a4ac4b2..08817498 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/utils/LogUtils.java @@ -54,14 +54,15 @@ public class LogUtils { /** * 保存日志 */ - public static void saveLog(HttpServletRequest request, String logTitle, String logType){ - saveLog(UserUtils.getUser(), request, null, null, logTitle, logType); + public static void saveLog(User user, HttpServletRequest request, String logTitle, String logType){ + saveLog(user, request, null, null, logTitle, logType, 0); } /** * 保存日志 + * @param executeTime */ - public static void saveLog(User user, HttpServletRequest request, Object handler, Exception ex, String logTitle, String logType){ + public static void saveLog(User user, HttpServletRequest request, Object handler, Exception ex, String logTitle, String logType, long executeTime){ if (user == null || StringUtils.isBlank(user.getUserCode()) || request == null){ return; } @@ -91,6 +92,7 @@ public class LogUtils { log.setCorpCode(user.getCorpCode()); log.setCorpName(user.getCorpName()); } + log.setExecuteTime(executeTime); log.setCurrentUser(user); log.preInsert(); diff --git a/modules/core/src/main/resources/db/upgrade/core/mssql/mssql_4.0.1.sql b/modules/core/src/main/resources/db/upgrade/core/mssql/mssql_4.0.1.sql new file mode 100644 index 00000000..e3c1f931 --- /dev/null +++ b/modules/core/src/main/resources/db/upgrade/core/mssql/mssql_4.0.1.sql @@ -0,0 +1,7 @@ + +-- 日志表新增执行时间字段 +ALTER TABLE [dbo].[${_prefix}sys_log] ADD [execute_time] decimal(19) NULL; + +-- 更新模块数据库版本 +update ${_prefix}sys_module set current_version = '4.0.1' where module_code = 'core'; +commit; \ No newline at end of file diff --git a/modules/core/src/main/resources/db/upgrade/core/mysql/mysql_4.0.1.sql b/modules/core/src/main/resources/db/upgrade/core/mysql/mysql_4.0.1.sql new file mode 100644 index 00000000..1e763f4e --- /dev/null +++ b/modules/core/src/main/resources/db/upgrade/core/mysql/mysql_4.0.1.sql @@ -0,0 +1,8 @@ + +-- 日志表新增执行时间字段 +ALTER TABLE ${_prefix}sys_log +ADD COLUMN `execute_time` decimal(19,0) NULL COMMENT '执行时间' AFTER `browser_name`; + +-- 更新模块数据库版本 +update ${_prefix}sys_module set current_version = '4.0.1' where module_code = 'core'; +commit; \ No newline at end of file diff --git a/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.1.sql b/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.1.sql new file mode 100644 index 00000000..f24845f4 --- /dev/null +++ b/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.1.sql @@ -0,0 +1,8 @@ + +-- 日志表新增执行时间字段 +ALTER TABLE ${_prefix}sys_log ADD execute_time NUMBER(19) NULL; +COMMENT ON COLUMN ${_prefix}sys_log.execute_time IS '执行时间'; + +-- 更新模块数据库版本 +update ${_prefix}sys_module set current_version = '4.0.1' where module_code = 'core'; +commit; \ No newline at end of file diff --git a/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.xx.sql b/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.xx.sql deleted file mode 100644 index f7f51626..00000000 --- a/modules/core/src/main/resources/db/upgrade/core/oracle/oracle_4.0.xx.sql +++ /dev/null @@ -1,7 +0,0 @@ - - - - --- 更新模块数据库版本 -update ${_prefix}sys_module set current_version = '4.0.xx' where module_code = 'core'; -commit; \ No newline at end of file diff --git a/modules/core/src/main/resources/db/upgrade/core/postgresql/postgresql_4.0.1.sql b/modules/core/src/main/resources/db/upgrade/core/postgresql/postgresql_4.0.1.sql new file mode 100644 index 00000000..a9b24e37 --- /dev/null +++ b/modules/core/src/main/resources/db/upgrade/core/postgresql/postgresql_4.0.1.sql @@ -0,0 +1,8 @@ + +-- 日志表新增执行时间字段 +ALTER TABLE ${_prefix}sys_log ADD COLUMN execute_time decimal(19); +COMMENT ON COLUMN ${_prefix}sys_log.execute_time IS '执行时间'; + +-- 更新模块数据库版本 +update ${_prefix}sys_module set current_version = '4.0.1' where module_code = 'core'; +commit; \ No newline at end of file diff --git a/modules/core/src/main/resources/views/modules/sys/logForm.html b/modules/core/src/main/resources/views/modules/sys/logForm.html index 407a99e1..4e9b228b 100644 --- a/modules/core/src/main/resources/views/modules/sys/logForm.html +++ b/modules/core/src/main/resources/views/modules/sys/logForm.html @@ -162,6 +162,17 @@ +
+
+
+ +
+ <#form:input path="executeTimeFormat" maxlength="100" class="form-control "/> +
+
+
+