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
@@ -501,6 +501,10 @@
"保存邮箱域名白名单设置": "Сохранить настройки белого списка доменов email",
"保存额度设置": "Сохранить настройки лимитов",
"保留原值(目标已有值时不覆盖)": "Сохранить исходное значение (не перезаписывать, если цель уже имеет значение)",
"保留天数": "Дней для хранения",
"保留文件数": "Файлов для хранения",
"保留最近N个文件": "Хранить последние N файлов",
"保留最近N天": "Хранить за последние N дней",
"修复数据库一致性": "Исправить согласованность базы данных",
"修改为": "Изменить на",
"修改子渠道优先级": "Изменить приоритет дочерних каналов",
@@ -1116,6 +1120,8 @@
"将删除": "Будет удалено",
"将删除已使用、已禁用及过期的兑换码,此操作不可撤销。": "Будут удалены использованные, отключенные и просроченные коды обмена, эта операция необратима.",
"将删除所有仍在内存中的渠道亲和性缓存条目。": "Будут удалены все записи кэша аффинити каналов, оставшиеся в памяти.",
"将删除 {{value}} 天前的日志文件。": "Файлы журналов старше {{value}} дней будут удалены.",
"将只保留最近 {{value}} 个日志文件,其余将被删除。": "Будут сохранены только последние {{value}} файлов журналов; остальные будут удалены.",
"将大请求体临时存储到磁盘": "Временное сохранение больших тел запросов на диск",
"将清除所有保存的配置并恢复默认设置,此操作不可撤销。是否继续?": "Будут очищены все сохраненные конфигурации и восстановлены настройки по умолчанию, эта операция необратима. Продолжить?",
"将清除选定时间之前的所有日志": "Будут очищены все логи до выбранного времени",
@@ -1212,6 +1218,7 @@
"已添加到白名单": "Добавлено в белый список",
"已清空": "Очищено",
"已清空测试结果": "Результаты тестов очищены",
"已清理 {{count}} 个日志文件,释放 {{size}}": "Очищено {{count}} файлов журналов, освобождено {{size}}",
"已生成授权凭据": "Учётные данные авторизации сгенерированы",
"已用": "Used",
"已用/剩余": "Использовано/Осталось",
@@ -1575,6 +1582,10 @@
"日志类型": "Тип журнала",
"日志设置": "Настройки журнала",
"日志详情": "Детали журнала",
"日志目录": "Каталог журналов",
"日志文件数": "Количество файлов журналов",
"日志时间范围": "Диапазон дат журналов",
"日志总大小": "Общий размер журналов",
"旧格式(JSON 对象)": "Устаревший формат (JSON-объект)",
"旧格式(直接覆盖):": "Старый формат (прямая перезапись):",
"旧格式必须是 JSON 对象": "Устаревший формат должен быть JSON-объектом",
@@ -1689,6 +1700,8 @@
"服务可用性": "Доступность сервиса",
"服务商": "Service Provider",
"服务器地址": "Адрес сервера",
"服务器日志功能未启用(未配置日志目录)": "Ведение журнала сервера не включено (каталог журналов не настроен)",
"服务器日志管理": "Управление журналами сервера",
"服务显示名称": "Отображаемое имя сервиса",
"未匹配到模型,按回车键可将「{{name}}」作为自定义模型名添加": "Совпадающих моделей не найдено. Нажмите Enter, чтобы добавить «{{name}}» как пользовательское имя модели.",
"未发现新增模型": "Новые модели не обнаружены",
@@ -1978,6 +1991,8 @@
"添加额度": "Добавить лимит",
"清理不活跃缓存": "Очистить неактивный кэш",
"清理失败": "Ошибка очистки",
"清理方式": "Режим очистки",
"清理日志文件": "Очистить файлы журналов",
"清空": "Clear",
"清空全部缓存": "Очистить весь кэш",
"清空该规则缓存": "Очистить кэш этого правила",
@@ -2181,6 +2196,7 @@
"确认清空全部渠道亲和性缓存": "Подтвердить очистку всего кэша аффинити каналов",
"确认清空该规则缓存": "Подтвердить очистку кэша этого правила",
"确认清除历史日志": "Подтвердить очистку истории логов",
"确认清理日志文件?": "Подтвердить очистку файлов журналов?",
"确认禁用": "Подтвердить отключение",
"确认补单": "Подтвердить дополнение заказа",
"确认解绑": "Подтвердить отвязку",
@@ -2279,6 +2295,7 @@
"管理模型、标签、端点等预填组": "Управление предзаполненными группами моделей, тегов, конечных точек и т.д.",
"管理用户已绑定的第三方账户,支持筛选与解绑": "Управление привязанными сторонними аккаунтами пользователей с поддержкой фильтрации и отвязки",
"管理绑定": "Управление привязками",
"管理服务器运行日志文件。日志文件会随运行时间不断累积,建议定期清理以释放磁盘空间。": "Управление файлами журналов сервера. Файлы журналов накапливаются со временем; рекомендуется регулярная очистка для освобождения дискового пространства.",
"类型": "Тип",
"类型(常用)": "Тип (часто используемые)",
"粘贴图片失败": "Ошибка вставки изображения",
@@ -2728,6 +2745,7 @@
"请输入新的部署名称": "Please enter new deployment name",
"请输入显示名称": "Пожалуйста, введите отображаемое имя",
"请输入有效的JSON格式的请求体。您可以参考预览面板中的默认请求体格式。": "Пожалуйста, введите тело запроса в действительном формате JSON. Вы можете обратиться к формату тела запроса по умолчанию на панели предварительного просмотра.",
"请输入有效的数值": "Пожалуйста, введите допустимое значение",
"请输入有效的数字": "Пожалуйста, введите действительное число",
"请输入有效的镜像地址": "Please enter a valid image address",
"请输入标签名称": "Пожалуйста, введите имя тега",