mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-07-15 08:56:07 +00:00
feat(plugins): show plugin logs on detail page via Docs/Logs tablist
Add a Logs tab beside Documentation on the plugin detail page, showing the output a plugin prints through the standard Python logger (per the wiki style guide). Logs are captured from the plugin's stderr by the plugin runtime and fetched on demand. - Bump langbot-plugin pin to 0.4.4 (adds GET_PLUGIN_LOGS action) - plugin_connector/handler: get_plugin_logs RPC client - HTTP route GET /api/v1/plugins/<author>/<name>/logs (limit + level) - Frontend: wrap detail right panel in Docs/Logs Tabs; PluginLogs component with level filter, manual + 3s auto refresh, bottom-follow - i18n: 7 new keys across all 8 locales
This commit is contained in:
@@ -577,6 +577,14 @@ const enUS = {
|
||||
viewSource: 'View Source',
|
||||
loadingReadme: 'Loading documentation...',
|
||||
noReadme: 'This plugin does not provide README documentation',
|
||||
tabDocs: 'Documentation',
|
||||
tabLogs: 'Logs',
|
||||
logsLevelAll: 'All levels',
|
||||
logsRefresh: 'Refresh',
|
||||
logsAutoRefreshOn: 'Auto-refresh: On',
|
||||
logsAutoRefreshOff: 'Auto-refresh: Off',
|
||||
logsEmpty:
|
||||
'No logs yet. Logs printed by the plugin via logger will appear here.',
|
||||
fileUpload: {
|
||||
tooLarge: 'File size exceeds 10MB limit',
|
||||
success: 'File uploaded successfully',
|
||||
|
||||
@@ -589,6 +589,14 @@ const esES = {
|
||||
viewSource: 'Ver código fuente',
|
||||
loadingReadme: 'Cargando documentación...',
|
||||
noReadme: 'Este plugin no proporciona documentación README',
|
||||
tabDocs: 'Documentación',
|
||||
tabLogs: 'Registros',
|
||||
logsLevelAll: 'Todos los niveles',
|
||||
logsRefresh: 'Actualizar',
|
||||
logsAutoRefreshOn: 'Auto-actualizar: Activado',
|
||||
logsAutoRefreshOff: 'Auto-actualizar: Desactivado',
|
||||
logsEmpty:
|
||||
'Aún no hay registros. Los registros que el plugin imprima mediante logger aparecerán aquí.',
|
||||
fileUpload: {
|
||||
tooLarge: 'El tamaño del archivo supera el límite de 10MB',
|
||||
success: 'Archivo subido correctamente',
|
||||
|
||||
@@ -582,6 +582,14 @@ const jaJP = {
|
||||
viewSource: 'ソースを表示',
|
||||
loadingReadme: 'ドキュメントを読み込み中...',
|
||||
noReadme: 'このプラグインはREADMEドキュメントを提供していません',
|
||||
tabDocs: 'ドキュメント',
|
||||
tabLogs: 'ログ',
|
||||
logsLevelAll: 'すべてのレベル',
|
||||
logsRefresh: '更新',
|
||||
logsAutoRefreshOn: '自動更新:オン',
|
||||
logsAutoRefreshOff: '自動更新:オフ',
|
||||
logsEmpty:
|
||||
'ログはまだありません。プラグインが logger で出力したログがここに表示されます。',
|
||||
fileUpload: {
|
||||
tooLarge: 'ファイルサイズが 10MB の制限を超えています',
|
||||
success: 'ファイルのアップロードに成功しました',
|
||||
|
||||
@@ -588,6 +588,14 @@ const ruRU = {
|
||||
viewSource: 'Исходный код',
|
||||
loadingReadme: 'Загрузка документации...',
|
||||
noReadme: 'Этот плагин не предоставляет документацию README',
|
||||
tabDocs: 'Документация',
|
||||
tabLogs: 'Журналы',
|
||||
logsLevelAll: 'Все уровни',
|
||||
logsRefresh: 'Обновить',
|
||||
logsAutoRefreshOn: 'Автообновление: вкл.',
|
||||
logsAutoRefreshOff: 'Автообновление: выкл.',
|
||||
logsEmpty:
|
||||
'Журналов пока нет. Здесь появятся логи, выводимые плагином через logger.',
|
||||
fileUpload: {
|
||||
tooLarge: 'Размер файла превышает лимит 10 МБ',
|
||||
success: 'Файл успешно загружен',
|
||||
|
||||
@@ -569,6 +569,13 @@ const thTH = {
|
||||
viewSource: 'ดูซอร์สโค้ด',
|
||||
loadingReadme: 'กำลังโหลดเอกสาร...',
|
||||
noReadme: 'ปลั๊กอินนี้ไม่มีเอกสาร README',
|
||||
tabDocs: 'เอกสาร',
|
||||
tabLogs: 'บันทึก',
|
||||
logsLevelAll: 'ทุกระดับ',
|
||||
logsRefresh: 'รีเฟรช',
|
||||
logsAutoRefreshOn: 'รีเฟรชอัตโนมัติ: เปิด',
|
||||
logsAutoRefreshOff: 'รีเฟรชอัตโนมัติ: ปิด',
|
||||
logsEmpty: 'ยังไม่มีบันทึก บันทึกที่ปลั๊กอินพิมพ์ผ่าน logger จะแสดงที่นี่',
|
||||
fileUpload: {
|
||||
tooLarge: 'ขนาดไฟล์เกินขีดจำกัด 10MB',
|
||||
success: 'อัปโหลดไฟล์สำเร็จ',
|
||||
|
||||
@@ -583,6 +583,14 @@ const viVN = {
|
||||
viewSource: 'Xem mã nguồn',
|
||||
loadingReadme: 'Đang tải tài liệu...',
|
||||
noReadme: 'Plugin này không cung cấp tài liệu README',
|
||||
tabDocs: 'Tài liệu',
|
||||
tabLogs: 'Nhật ký',
|
||||
logsLevelAll: 'Tất cả cấp độ',
|
||||
logsRefresh: 'Làm mới',
|
||||
logsAutoRefreshOn: 'Tự động làm mới: Bật',
|
||||
logsAutoRefreshOff: 'Tự động làm mới: Tắt',
|
||||
logsEmpty:
|
||||
'Chưa có nhật ký. Nhật ký do plugin in qua logger sẽ hiển thị ở đây.',
|
||||
fileUpload: {
|
||||
tooLarge: 'Kích thước tệp vượt quá giới hạn 10MB',
|
||||
success: 'Tải tệp lên thành công',
|
||||
|
||||
@@ -552,6 +552,13 @@ const zhHans = {
|
||||
viewSource: '查看来源',
|
||||
loadingReadme: '正在加载文档...',
|
||||
noReadme: '该插件没有提供 README 文档',
|
||||
tabDocs: '文档',
|
||||
tabLogs: '日志',
|
||||
logsLevelAll: '全部级别',
|
||||
logsRefresh: '刷新',
|
||||
logsAutoRefreshOn: '自动刷新:开',
|
||||
logsAutoRefreshOff: '自动刷新:关',
|
||||
logsEmpty: '暂无日志。插件通过 logger 打印的日志会显示在这里。',
|
||||
fileUpload: {
|
||||
tooLarge: '文件大小超过 10MB 限制',
|
||||
success: '文件上传成功',
|
||||
|
||||
@@ -552,6 +552,13 @@ const zhHant = {
|
||||
viewSource: '查看來源',
|
||||
loadingReadme: '正在載入文件...',
|
||||
noReadme: '該插件沒有提供 README 文件',
|
||||
tabDocs: '文件',
|
||||
tabLogs: '日誌',
|
||||
logsLevelAll: '全部級別',
|
||||
logsRefresh: '重新整理',
|
||||
logsAutoRefreshOn: '自動重新整理:開',
|
||||
logsAutoRefreshOff: '自動重新整理:關',
|
||||
logsEmpty: '暫無日誌。外掛透過 logger 列印的日誌會顯示在這裡。',
|
||||
fileUpload: {
|
||||
tooLarge: '檔案大小超過 10MB 限制',
|
||||
success: '檔案上傳成功',
|
||||
|
||||
Reference in New Issue
Block a user