feat: add server log file management to performance settings

Add API endpoints (GET/DELETE /api/performance/logs) to list and clean up
server log files by count or by age. Track the active log file path in
the logger to prevent deleting the currently open log. Add a management
UI section in the performance settings page with log directory info,
file statistics, and cleanup controls. Includes i18n translations for
all supported languages (en, fr, ja, ru, vi, zh-CN, zh-TW).
This commit is contained in:
RedwindA
2026-03-21 20:06:49 +08:00
parent 42846c692e
commit e904579a5b
11 changed files with 467 additions and 0 deletions
+18
View File
@@ -495,6 +495,10 @@
"保存邮箱域名白名单设置": "Lưu cài đặt danh sách trắng tên miền email",
"保存额度设置": "Lưu cài đặt hạn ngạch",
"保留原值(目标已有值时不覆盖)": "Giữ giá trị gốc (không ghi đè nếu mục tiêu đã có giá trị)",
"保留天数": "Số ngày giữ lại",
"保留文件数": "Số tệp giữ lại",
"保留最近N个文件": "Giữ lại N tệp gần nhất",
"保留最近N天": "Giữ lại N ngày gần nhất",
"修复数据库一致性": "Sửa chữa tính nhất quán của cơ sở dữ liệu",
"修改为": "Sửa đổi thành",
"修改子渠道优先级": "Sửa đổi ưu tiên kênh phụ",
@@ -1102,6 +1106,8 @@
"将删除": "Đang xóa",
"将删除已使用、已禁用及过期的兑换码,此操作不可撤销。": "Thao tác này sẽ xóa tất cả các mã đổi thưởng đã sử dụng, bị vô hiệu hóa và hết hạn, thao tác này không thể hoàn tác.",
"将删除所有仍在内存中的渠道亲和性缓存条目。": "Sẽ xóa tất cả mục bộ nhớ đệm ưu ái kênh còn trong bộ nhớ.",
"将删除 {{value}} 天前的日志文件。": "Tệp nhật ký cũ hơn {{value}} ngày sẽ bị xóa.",
"将只保留最近 {{value}} 个日志文件,其余将被删除。": "Chỉ giữ lại {{value}} tệp nhật ký gần nhất; phần còn lại sẽ bị xóa.",
"将大请求体临时存储到磁盘": "Lưu tạm body yêu cầu lớn vào đĩa",
"将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?": "Thao tác này sẽ xóa tất cả các cấu hình đã lưu và khôi phục cài đặt mặc định, thao tác này không thể hoàn tác. Tiếp tục?",
"将清除选定时间之前的所有日志": "Thao tác này sẽ xóa tất cả nhật ký trước thời gian đã chọn",
@@ -1186,6 +1192,7 @@
"已添加到白名单": "Đã thêm vào danh sách trắng",
"已清空": "Đã xóa sạch",
"已清空测试结果": "Đã xóa kết quả kiểm tra",
"已清理 {{count}} 个日志文件,释放 {{size}}": "Đã dọn dẹp {{count}} tệp nhật ký, giải phóng {{size}}",
"已生成授权凭据": "Đã tạo thông tin xác thực",
"已用": "Used",
"已用/剩余": "Đã dùng/Còn lại",
@@ -1547,6 +1554,10 @@
"日志类型": "Loại nhật ký",
"日志设置": "Cài đặt nhật ký",
"日志详情": "Chi tiết nhật ký",
"日志目录": "Thư mục nhật ký",
"日志文件数": "Số lượng tệp nhật ký",
"日志时间范围": "Phạm vi thời gian nhật ký",
"日志总大小": "Tổng kích thước nhật ký",
"旧格式(JSON 对象)": "Định dạng cũ (Đối tượng JSON)",
"旧格式(直接覆盖):": "Định dạng cũ (ghi đè trực tiếp):",
"旧格式必须是 JSON 对象": "Định dạng cũ phải là đối tượng JSON",
@@ -1661,6 +1672,8 @@
"服务可用性": "Trạng thái dịch vụ",
"服务商": "Service Provider",
"服务器地址": "Địa chỉ máy chủ",
"服务器日志功能未启用(未配置日志目录)": "Ghi nhật ký máy chủ chưa được bật (chưa cấu hình thư mục nhật ký)",
"服务器日志管理": "Quản lý nhật ký máy chủ",
"服务显示名称": "Tên hiển thị dịch vụ",
"未匹配到模型,按回车键可将「{{name}}」作为自定义模型名添加": "Không tìm thấy mô hình khớp. Nhấn Enter để thêm \"{{name}}\" làm tên mô hình tùy chỉnh.",
"未发现新增模型": "Không có mô hình mới nào được thêm",
@@ -2047,6 +2060,8 @@
"清理不活跃缓存": "Xóa cache không hoạt động",
"清理历史日志": "Dọn dẹp nhật ký lịch sử",
"清理失败": "Dọn dẹp thất bại",
"清理方式": "Chế độ dọn dẹp",
"清理日志文件": "Dọn dẹp tệp nhật ký",
"清理成功": "Dọn dẹp thành công",
"清理数据": "Dọn dẹp dữ liệu",
"清理日志": "Dọn dẹp nhật ký",
@@ -2382,6 +2397,7 @@
"确认清空该规则缓存": "Xác nhận xóa bộ nhớ đệm của quy tắc này",
"确认清除": "Xác nhận xóa",
"确认清除历史日志": "Xác nhận xóa nhật ký lịch sử",
"确认清理日志文件?": "Xác nhận dọn dẹp tệp nhật ký?",
"确认禁用": "Xác nhận vô hiệu hóa",
"确认补单": "Xác nhận hoàn thành đơn hàng",
"确认解绑": "Xác nhận hủy liên kết",
@@ -2518,6 +2534,7 @@
"管理用户": "Quản lý người dùng",
"管理用户已绑定的第三方账户,支持筛选与解绑": "Quản lý tài khoản bên thứ ba đã liên kết của người dùng, hỗ trợ lọc và hủy liên kết",
"管理绑定": "Quản lý liên kết",
"管理服务器运行日志文件。日志文件会随运行时间不断累积,建议定期清理以释放磁盘空间。": "Quản lý tệp nhật ký máy chủ. Tệp nhật ký tích lũy theo thời gian; nên dọn dẹp định kỳ để giải phóng dung lượng đĩa.",
"管理面板": "Bảng quản lý",
"类": "Lớp",
"类型": "Loại",
@@ -3120,6 +3137,7 @@
"请输入旧密码": "Vui lòng nhập mật khẩu cũ",
"请输入显示名称": "Vui lòng nhập tên hiển thị",
"请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。": "Vui lòng nhập nội dung yêu cầu có định dạng JSON hợp lệ. Bạn có thể tham khảo định dạng nội dung yêu cầu mặc định trong bảng xem trước.",
"请输入有效的数值": "Vui lòng nhập giá trị hợp lệ",
"请输入有效的数字": "Vui lòng nhập số hợp lệ",
"请输入有效的镜像地址": "Please enter a valid image address",
"请输入标签名称": "Vui lòng nhập tên thẻ",