日志查询
This commit is contained in:
parent
eda2c23659
commit
e040b14860
|
@ -210,6 +210,16 @@ export const asyncRoutes = [
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'docs-link2',
|
||||
component: Layout,
|
||||
children: [
|
||||
{
|
||||
path: process.env.VUE_APP_BASE_API + '/swagger/',
|
||||
meta: { title: 'Swagger文档', icon: 'link', perms: ['dev_docs'] }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'admin-link',
|
||||
component: Layout,
|
||||
|
|
|
@ -35,5 +35,5 @@ class Equipment(CommonBModel):
|
|||
verbose_name_plural = verbose_name
|
||||
|
||||
def __str__(self):
|
||||
return self.name + '-' + self.name
|
||||
return self.number + '-' + self.name
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
from django.shortcuts import render
|
||||
import psutil
|
||||
from rest_framework import response
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.views import APIView
|
||||
from rest_framework.permissions import IsAuthenticated
|
||||
|
@ -7,6 +8,8 @@ from rest_framework.viewsets import ViewSet
|
|||
from django.conf import settings
|
||||
import os
|
||||
from rest_framework import serializers, status
|
||||
from drf_yasg import openapi
|
||||
from drf_yasg.utils import swagger_auto_schema
|
||||
# Create your views here.
|
||||
|
||||
class ServerInfoView(APIView):
|
||||
|
@ -29,8 +32,23 @@ class ServerInfoView(APIView):
|
|||
ret['disk']['percent'] = disk.percent
|
||||
return Response(ret)
|
||||
|
||||
def get_file_list(file_path):
|
||||
dir_list = os.listdir(file_path)
|
||||
if not dir_list:
|
||||
return
|
||||
else:
|
||||
# 注意,这里使用lambda表达式,将文件按照最后修改时间顺序升序排列
|
||||
# os.path.getmtime() 函数是获取文件最后修改时间
|
||||
# os.path.getctime() 函数是获取文件最后创建时间
|
||||
dir_list = sorted(dir_list,key=lambda x: os.path.getmtime(os.path.join(file_path, x)), reverse=True)
|
||||
# print(dir_list)
|
||||
return dir_list
|
||||
|
||||
class LogView(APIView):
|
||||
|
||||
@swagger_auto_schema(manual_parameters=[
|
||||
openapi.Parameter('name', openapi.IN_QUERY, description='日志文件名', type=openapi.TYPE_STRING)
|
||||
])
|
||||
def get(self, request, *args, **kwargs):
|
||||
"""
|
||||
查看最近的日志列表
|
||||
|
@ -38,20 +56,13 @@ class LogView(APIView):
|
|||
"""
|
||||
logs =[]
|
||||
name = request.GET.get('name', None)
|
||||
for root, dirs, files in os.walk(settings.LOG_PATH):
|
||||
for file in files:
|
||||
if len(logs)>50:break
|
||||
filepath = os.path.join(root, file)
|
||||
if name:
|
||||
if filepath.contains(name):
|
||||
fsize = os.path.getsize(filepath)
|
||||
if fsize:
|
||||
logs.append({
|
||||
"name":file,
|
||||
"filepath":filepath,
|
||||
"size":round(fsize/1000,1)
|
||||
})
|
||||
else:
|
||||
# for root, dirs, files in os.walk(settings.LOG_PATH):
|
||||
# files.reverse()
|
||||
for file in get_file_list(settings.LOG_PATH):
|
||||
if len(logs)>50:break
|
||||
filepath = os.path.join(settings.LOG_PATH, file)
|
||||
if name:
|
||||
if name in filepath:
|
||||
fsize = os.path.getsize(filepath)
|
||||
if fsize:
|
||||
logs.append({
|
||||
|
@ -59,8 +70,17 @@ class LogView(APIView):
|
|||
"filepath":filepath,
|
||||
"size":round(fsize/1000,1)
|
||||
})
|
||||
else:
|
||||
fsize = os.path.getsize(filepath)
|
||||
if fsize:
|
||||
logs.append({
|
||||
"name":file,
|
||||
"filepath":filepath,
|
||||
"size":round(fsize/1000,1)
|
||||
})
|
||||
return Response(logs)
|
||||
|
||||
|
||||
class LogDetailView(APIView):
|
||||
|
||||
def get(self, request, name):
|
||||
|
|
Loading…
Reference in New Issue