2 lines
5.1 KiB
JavaScript
2 lines
5.1 KiB
JavaScript
|
|
import{d as G,o as M,b as k,c as j,f as t,w as n,W as q,i as W,e as d,r as b,y as N,E as y,j as s,a2 as Y,h as $,q as K,n as c,t as u}from"./index-BYp6OBwf.js";import{R as P,S as H}from"./admin-QG1MRyaa.js";import{_ as J}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const Q={class:"runtime-logs"},X={class:"detail-block"},Z={class:"detail-meta"},ee={class:"detail-message"},te={class:"pagination-bar"},ae=G({__name:"RuntimeLogs",setup(le){const f=b(!1),_=b(!1),R=b([]),o=N({level:"INFO",keyword:"",dateRange:null}),i=N({page:1,pageSize:50,total:0}),D=[{text:"最近24小时",value:()=>{const l=new Date,e=new Date;return e.setTime(e.getTime()-3600*1e3*24),[e,l]}},{text:"最近7天",value:()=>{const l=new Date,e=new Date;return e.setTime(e.getTime()-3600*1e3*24*7),[e,l]}}];function h(l=!1){const e={};return l||(e.page=i.page,e.page_size=i.pageSize),o.level&&(e.level=o.level),o.keyword&&(e.keyword=o.keyword),o.dateRange&&o.dateRange.length===2&&(e.from=`${o.dateRange[0]}T00:00:00`,e.to=`${o.dateRange[1]}T23:59:59`),e}async function g(){f.value=!0;try{const{data:l}=await P(h());l.code===0&&(R.value=l.data.items||[],i.total=l.data.total||0)}catch{y.error("加载运行期日志失败")}finally{f.value=!1}}async function I(){_.value=!0;try{const l=await H(h(!0)),e=window.URL.createObjectURL(l),r=document.createElement("a");r.href=e;const v=new Date().toISOString().replace(/[:.]/g,"-");r.download=`runtime-logs-${v}.log`,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(e),y.success("下载已开始")}catch{y.error("下载运行期日志失败")}finally{_.value=!1}}function C(){i.page=1,g()}function z(){o.level="INFO",o.keyword="",o.dateRange=null,i.page=1,g()}function S(){i.page=1,g()}function T(l){switch((l||"").toUpperCase()){case"DEBUG":return"info";case"INFO":return"success";case"WARNING":return"warning";case"ERROR":case"CRITICAL":return"danger";default:return"info"}}function L(l){if(!l)return"—";const e=new Date(l);return isNaN(e.getTime())?l:e.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}return M(()=>g()),(l,e)=>{const r=s("el-option"),v=s("el-select"),m=s("el-form-item"),U=s("el-input"),V=s("el-date-picker"),w=s("el-button"),x=s("el-form"),O=s("el-card"),p=s("el-table-column"),E=s("el-tag"),B=s("el-table"),F=s("el-pagination"),A=Y("loading");return k(),j("div",Q,[t(O,{class:"filter-bar",shadow:"never"},{default:n(()=>[t(x,{inline:!0,onSubmit:e[3]||(e[3]=$(()=>{},["prevent"]))},{default:n(()=>[t(m,{label:"级别"},{default:n(()=>[t(v,{modelValue:o.level,"onUpdate:modelValue":e[0]||(e[0]=a=>o.level=a),placeholder:"级别阈值",clearable:"",style:{width:"150px"}},{default:n(()=>[t(r,{label:"DEBUG",value:"DEBUG"}),t(r,{label:"INFO",value:"INFO"}),t(r,{label:"WARNING",value:"WARNING"}),t(r,{label:"ERROR",value:"ERROR"}),t(r,{label:"CRITICAL",value:"CRITICAL"})]),_:1},8,["modelValue"])]),_:1}),t(m,{label:"关键字"},{default:n(()=>[t(U,{modelValue:o.keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>o.keyword=a),placeholder:"消息关键字(子串)",clearable:"",style:{width:"220px"},onKeyup:K(C,["enter"])},null,8,["modelValue"])]),_:1}),t(m,{label:"时间范围"},{default:n(()=>[t(V,{modelValue:o.dateRange,"onUpdate:modelValue":e[2]||(e[2]=a=>o.dateRange=a),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD",shortcuts:D},null,8,["modelValue"])]),_:1}),t(m,null,{default:n(()=>[t(w,{type:"primary",onClick:C},{default:n(()=>[...e[6]||(e[6]=[c("查询",-1)])]),_:1}),t(w,{onClick:z},{default:n(()=>[...e[7]||(e[7]=[c("重置",-1)])]),_:1}),t(w,{type:"success",loading:_.value,onClick:I},{default:n(()=>[...e[8]||(e[8]=[c(" 下载命中行 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}),q((k(),W(B,{data:R.value,stripe:"",style:{width:"100%"}},{default:n(()=>[t(p,{type:"expand"},{default:n(({row:a})=>[d("div",X,[d("div",Z,[d("span",null,"模块:"+u(a.module||"—"),1),d("span",null,"函数:"+u(a.funct
|