2018-08-01 22:55:40 +08:00
|
|
|
<template>
|
2018-08-02 08:24:51 +08:00
|
|
|
<el-table
|
2018-08-02 21:30:04 +08:00
|
|
|
:data="log"
|
2018-08-05 11:10:42 +08:00
|
|
|
border
|
|
|
|
|
stripe
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
size="mini">
|
|
|
|
|
|
|
|
|
|
<el-table-column type="expand">
|
2018-08-02 08:24:51 +08:00
|
|
|
<template slot-scope="props">
|
2018-08-05 11:10:42 +08:00
|
|
|
<div style="overflow: auto;">
|
|
|
|
|
<pre>{{stackBeautify(props.row.err)}}</pre>
|
|
|
|
|
</div>
|
2018-08-02 08:24:51 +08:00
|
|
|
</template>
|
2018-08-05 11:10:42 +08:00
|
|
|
</el-table-column>
|
|
|
|
|
|
2018-08-02 08:24:51 +08:00
|
|
|
<el-table-column
|
2018-08-02 21:30:04 +08:00
|
|
|
prop="type"
|
|
|
|
|
label="类型"
|
|
|
|
|
width="80px"
|
|
|
|
|
align="center"
|
|
|
|
|
:filters="[
|
|
|
|
|
{ text: '日志', value: 'log' },
|
|
|
|
|
{ text: '异常', value: 'error' }
|
|
|
|
|
]"
|
|
|
|
|
:filter-multiple="false"
|
|
|
|
|
:filter-method="filterType"
|
|
|
|
|
filter-placement="bottom">
|
|
|
|
|
<template slot-scope="scope">
|
|
|
|
|
<el-tag
|
|
|
|
|
v-if="scope.row.type === 'error'"
|
|
|
|
|
size="mini"
|
|
|
|
|
type="danger">
|
|
|
|
|
<d2-icon name="bug"/> Bug
|
|
|
|
|
</el-tag>
|
|
|
|
|
<el-tag
|
|
|
|
|
v-else
|
|
|
|
|
size="mini"
|
|
|
|
|
type="info">
|
|
|
|
|
<d2-icon name="dot-circle-o"/> Log
|
|
|
|
|
</el-tag>
|
|
|
|
|
</template>
|
2018-08-02 08:24:51 +08:00
|
|
|
</el-table-column>
|
2018-08-05 11:10:42 +08:00
|
|
|
|
2018-08-02 08:24:51 +08:00
|
|
|
<el-table-column
|
2018-08-05 11:10:42 +08:00
|
|
|
label="地址"
|
|
|
|
|
prop="url"
|
|
|
|
|
width="140px"
|
|
|
|
|
:show-overflow-tooltip="true">
|
2018-08-02 08:24:51 +08:00
|
|
|
</el-table-column>
|
2018-08-05 11:10:42 +08:00
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="组件"
|
|
|
|
|
width="140px"
|
|
|
|
|
:show-overflow-tooltip="true">
|
|
|
|
|
<template
|
|
|
|
|
slot-scope="scope">
|
2018-08-02 21:30:04 +08:00
|
|
|
{{scope.row.vm ? scope.row.vm.$vnode.tag : ''}}
|
|
|
|
|
</template>
|
2018-08-02 08:24:51 +08:00
|
|
|
</el-table-column>
|
2018-08-05 11:10:42 +08:00
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="信息"
|
|
|
|
|
prop="info"
|
|
|
|
|
width="200px"
|
|
|
|
|
:show-overflow-tooltip="true">
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="错误类型"
|
|
|
|
|
width="140px"
|
|
|
|
|
:show-overflow-tooltip="true">
|
|
|
|
|
<template
|
|
|
|
|
slot-scope="scope">
|
|
|
|
|
{{scope.row.err ? scope.row.err.name : ''}}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="错误信息">
|
|
|
|
|
<template
|
|
|
|
|
slot-scope="scope">
|
|
|
|
|
{{scope.row.err ? scope.row.err.message : ''}}
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
|
|
|
|
<el-table-column
|
|
|
|
|
label="time"
|
|
|
|
|
prop="time"
|
|
|
|
|
width="150px"
|
|
|
|
|
:show-overflow-tooltip="true">
|
|
|
|
|
</el-table-column>
|
|
|
|
|
|
2018-08-02 08:24:51 +08:00
|
|
|
</el-table>
|
2018-08-01 22:55:40 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2018-08-02 21:30:04 +08:00
|
|
|
import { mapState } from 'vuex'
|
2018-08-01 22:55:40 +08:00
|
|
|
export default {
|
2018-08-02 08:24:51 +08:00
|
|
|
name: 'd2-error-log-list',
|
2018-08-02 21:30:04 +08:00
|
|
|
computed: {
|
|
|
|
|
...mapState({
|
|
|
|
|
log: state => state.d2admin.log
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
filterType (value, row) {
|
|
|
|
|
console.log('value', value)
|
|
|
|
|
return row.type === value
|
2018-08-05 11:10:42 +08:00
|
|
|
},
|
|
|
|
|
stackBeautify (err) {
|
|
|
|
|
if (!err) {
|
|
|
|
|
return ''
|
|
|
|
|
}
|
|
|
|
|
return err.stack
|
2018-08-02 08:24:51 +08:00
|
|
|
}
|
|
|
|
|
}
|
2018-08-01 22:55:40 +08:00
|
|
|
}
|
|
|
|
|
</script>
|