From 5bd66255ccd4e995337b9039094964d2677db4cc Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期二, 22 二月 2022 17:19:06 +0800
Subject: [PATCH] 完善日志监控模块, 需要配合valog-server使用
---
src/pages/syslog/index/App.vue | 208 ++++++++++++++++++----------------------
src/api/log.ts | 49 +++++----
2 files changed, 122 insertions(+), 135 deletions(-)
diff --git a/src/api/log.ts b/src/api/log.ts
index 603edc8..c1d29a8 100644
--- a/src/api/log.ts
+++ b/src/api/log.ts
@@ -1,35 +1,42 @@
-import request from "@/scripts/httpRequest";
-
+import request from "@/scripts/httpRequest"
// /data/api-v//
-
export const queryOperationLog = (data: any) => {
- return request({
- url: "/data/api-v/log/queryOperationLog",
- method: "post",
- data
- })
+ return request({
+ url: "/data/api-v/log/queryOperationLog",
+ method: "post",
+ data
+ })
}
export const getOperations = (query: any) => {
- return request({
- url: "/data/api-v/log/operations",
- method: "get",
+ return request({
+ url: "/data/api-v/log/operations",
+ method: "get",
params: query
- })
+ })
}
export const getModules = (query: any) => {
- return request({
- url: "/data/api-v/log/modules",
- method: "get",
+ return request({
+ url: "/data/api-v/log/modules",
+ method: "get",
params: query
- })
+ })
}
+
export const queryScheduleLog = (data: any) => {
- return request({
- url: "/data/api-v/log/queryScheduleLog",
- method: "post",
- data
- })
+ return request({
+ url: "/data/api-v/log/queryScheduleLog",
+ method: "post",
+ data
+ })
+}
+
+export const querySystemLog = (data: any) => {
+ return request({
+ url: "/data/api-l/vasystemLogs",
+ method: "post",
+ data
+ })
}
diff --git a/src/pages/syslog/index/App.vue b/src/pages/syslog/index/App.vue
index e9e8c79..be427c5 100644
--- a/src/pages/syslog/index/App.vue
+++ b/src/pages/syslog/index/App.vue
@@ -2,7 +2,7 @@
<div class="s-log-management">
<div class="top">
<!-- <b>鏃ュ織绫诲瀷:</b>
- <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="logLevel" placeholder="璇烽�夋嫨" size="small">
<el-option
v-for="item in logOptions"
:key="item.value"
@@ -18,25 +18,12 @@
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡"
+ value-format="yyyy-MM-dd HH:mm:ss"
style="width: 244px;"
></el-date-picker>
- <b>妯″潡:</b>
- <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="mini">
- <el-option
- v-for="item in logOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
- </el-select>
- <b>鍔熻兘:</b>
- <el-select v-model="logValue" placeholder="璇烽�夋嫨" size="mini">
- <el-option
- v-for="item in logOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
+ <b>鏃ュ織绾у埆:</b>
+ <el-select v-model="logLevel" placeholder="璇烽�夋嫨" size="mini">
+ <el-option v-for="item in logOptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input
v-model="searchValue"
@@ -45,9 +32,9 @@
style="width: 150px;margin: 0px 10px;"
size="mini"
></el-input>
- <el-button type="primary" size="mini">鎼滅储</el-button>
- <el-button type="danger" size="mini" @click="delSelected">鎵归噺鍒犻櫎</el-button>
- <el-button type="text" size="mini" style="font-size: 13px;font-weight: 600;">瀵煎嚭</el-button>
+ <el-button type="primary" size="mini" @click="getVaSystemLog">鎼滅储</el-button>
+ <!-- <el-button type="danger" size="mini" @click="delSelected">鎵归噺鍒犻櫎</el-button> -->
+ <!-- <el-button type="text" size="mini" style="font-size: 13px;font-weight: 600;">瀵煎嚭</el-button> -->
</div>
<div class="foot-table s-table">
<el-table
@@ -55,123 +42,116 @@
highlight-current-row
:data="tableData"
style="width: 100%"
- :header-cell-style="{background:'#f8f8f8',color:'#222222'}"
+ :header-cell-style="{ background: '#f8f8f8', color: '#222222' }"
@selection-change="handleSelectionChange"
>
- <el-table-column type="selection" width="55"></el-table-column>
- <el-table-column :align="'center'" sortable prop="index" label="搴忓彿"></el-table-column>
- <el-table-column :align="'center'" sortable prop="logtype" label="鏃ュ織绫诲瀷"></el-table-column>
- <el-table-column :align="'center'" sortable prop="username" label="鐢ㄦ埛鍚�"></el-table-column>
- <el-table-column :align="'center'" sortable prop="ipaddress" label="IP鍦板潃"></el-table-column>
- <el-table-column :align="'center'" sortable prop="operation" label="鎿嶄綔鍔熻兘"></el-table-column>
- <el-table-column :align="'center'" sortable prop="operatetime" label="鎿嶄綔鏃堕棿"></el-table-column>
- <el-table-column :align="'center'" sortable prop="operateinfo" label="鎿嶄綔淇℃伅"></el-table-column>
- <el-table-column label="鎿嶄綔" :align="'center'">
+ <el-table-column :align="'center'" prop="createDate" label="鍒涘缓鏃ユ湡" width="200px"></el-table-column>
+ <el-table-column :align="'center'" prop="procName" label="鏃ュ織妯″潡" width="100px"></el-table-column>
+ <el-table-column :align="'center'" prop="level" label="鏃ュ織绛夌骇" width="100px">
<template slot-scope="scope">
- <el-button
- type="text"
- style="color: red;font-size:16px"
- @click="handleDelete(scope.$index, scope.row)"
- icon="el-icon-delete"
- ></el-button>
+ <span>{{ scope.row.level | leverFilter }}</span>
</template>
</el-table-column>
+ <el-table-column :align="'left'" prop="info" label="鏃ュ織鍐呭"></el-table-column>
</el-table>
</div>
+
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="page"
+ :page-sizes="[15, 30, 50, 100]"
+ :page-size="15"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total"
+ >
+ </el-pagination>
</div>
</template>
<script>
+import { querySystemLog } from "@/api/log"
+let logLevels = [
+ {
+ value: -1,
+ label: "鍏ㄩ儴"
+ },
+ {
+ value: 0,
+ label: "閿欒"
+ },
+ {
+ value: 1,
+ label: "璀﹀憡"
+ },
+ {
+ value: 2,
+ label: "淇℃伅"
+ }
+]
export default {
data() {
return {
- tableData: [
- {
- index: "1",
- logtype: "寮傚父",
- username: "admin",
- ipaddress: "192.168.10.110",
- operation: "娣诲姞鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- },
- {
- index: "2",
- logtype: "淇℃伅",
- username: "admin",
- ipaddress: "192.168.10.108",
- operation: "鍒犻櫎鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- },
- {
- index: "3",
- logtype: "鎿嶄綔",
- username: "admin",
- ipaddress: "192.168.10.110",
- operation: "娣诲姞鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- },
- {
- index: "4",
- logtype: "寮傚父",
- username: "admin",
- ipaddress: "192.168.10.110",
- operation: "娣诲姞鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- },
- {
- index: "5",
- logtype: "寮傚父",
- username: "admin",
- ipaddress: "192.168.10.110",
- operation: "鍒犻櫎鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- },
- {
- index: "6",
- logtype: "寮傚父",
- username: "admin",
- ipaddress: "192.168.10.110",
- operation: "娣诲姞鎽勫儚鏈�",
- operatetime: "2019-5-31 16:38:21",
- operateinfo: "娣诲姞鎿嶄綔"
- }
- ],
+ tableData: [],
multipleSelection: [],
- logOptions: [
- {
- value: "鍏ㄩ儴绫诲瀷",
- label: "鍏ㄩ儴绫诲瀷"
- },
- {
- value: "鍏朵粬绫诲瀷",
- label: "鍏朵粬绫诲瀷"
+ logOptions: logLevels,
+ logLevel: -1,
+ timeValue: "",
+ searchValue: "",
+ page: 1,
+ pageSize: 15,
+ total: 0
+ }
+ },
+ filters: {
+ leverFilter(val) {
+ for (let i = 0; i < logLevels.length; i++) {
+ if (val == logLevels[i].value) {
+ return logLevels[i].label
}
- ],
- logValue: "鍏ㄩ儴绫诲瀷",
- timeValue: [
- new Date(2000, 10, 10, 10, 10),
- new Date(2000, 10, 11, 10, 10)
- ],
- searchValue: ""
- };
+ }
+ }
+ },
+ mounted() {
+ this.getVaSystemLog()
},
methods: {
handleDelete(index, row) {
- console.log(index, row);
+ console.log(index, row)
},
handleSelectionChange(val) {
- this.multipleSelection = val;
+ this.multipleSelection = val
},
delSelected() {
- console.log(this.multipleSelection);
+ console.log(this.multipleSelection)
+ },
+ handleSizeChange(val) {
+ this.pageSize = val
+ this.getVaSystemLog()
+ },
+ handleCurrentChange(val) {
+ this.page = val
+ this.getVaSystemLog()
+ },
+ getVaSystemLog() {
+ let body = {
+ FuzzySearch: this.searchValue,
+ level: this.logLevel,
+ page: this.page,
+ pageSize: this.pageSize
+ }
+ if (!!this.timeValue && this.timeValue.length == 2) {
+ body.timeStart = this.timeValue[0]
+ body.timeEnd = this.timeValue[1]
+ }
+
+ querySystemLog(body).then((res) => {
+ this.tableData = res.data.list
+ this.total = res.data.total
+ })
}
}
-};
+}
</script>
<style lang="scss">
.s-log-management {
@@ -181,7 +161,7 @@
box-sizing: border-box;
.top {
width: 100%;
-
+
margin-bottom: 20px;
overflow-y: auto;
min-width: 1156px;
--
Gitblit v1.8.0