From 4b18bcaf0d59bce5ee32b6e03b289a9c110c14c6 Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Wed, 11 Jun 2025 10:04:54 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20Improved=20logging=20structure?= =?UTF-8?q?=20&=20efficiency=20across=20backend=20logs=20=F0=9F=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/__pycache__/app.cpython-313.pyc | Bin 31580 -> 48111 bytes backend/instance/printer_manager.db | Bin 143360 -> 143360 bytes backend/instance/printer_manager.db-wal | Bin 12392 -> 341992 bytes backend/logs/admin/admin.log | 3 + backend/logs/app/app.log | 154 ++++++++++++++++++ backend/logs/auth/auth.log | 3 + backend/logs/calendar/calendar.log | 1 + backend/logs/jobs/jobs.log | 106 ++++++++++++ backend/logs/permissions/permissions.log | 2 + .../logs/printer_monitor/printer_monitor.log | 13 ++ backend/logs/printers/printers.log | 21 +++ backend/logs/queue_manager/queue_manager.log | 17 ++ backend/logs/scheduler/scheduler.log | 6 + backend/logs/security/security.log | 2 + backend/logs/startup/startup.log | 18 ++ backend/logs/tapo_control/tapo_control.log | 25 +++ .../logs/tapo_controller/tapo_controller.log | 20 +++ backend/logs/user/user.log | 5 + backend/logs/windows_fixes/windows_fixes.log | 8 + 19 files changed, 404 insertions(+) diff --git a/backend/__pycache__/app.cpython-313.pyc b/backend/__pycache__/app.cpython-313.pyc index 6751f5d85012d2d2b10db9d382c564a978446701..e965960164cfdac2fa55897458c29ded4045eb55 100644 GIT binary patch delta 16195 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 L4Rf6wU+aqp6MN6n%q# zvAZVh^aqxc<4jXL3ZRFMp7c7LqU$DIhtteAc^1Gq*874L;4J;Iq!7+C{gh!E=>*>- z>7&n0n*-m|<A5|FO8r4^}Nxz{Y27O&=)ZgIKoxHBeb^23fbDR#$NQRsA{TaFR;3|*ovq`r( z*adWAH00t4I8Z-&ixqg=J3JQ3r?)7#vh9X*Ai-qA+3Tv%2 zVMD5v$laHKSvT~9E(sB?xwX-1zK9wLjjVq3uV(V5RLQ`(0bp}BodGyQhquhvCC8Pa z7Q6A=|BFtxSR^AyZUg(Z~seJVTu)NJCQI{4cOIqzi<%}4J z+ZPDCovzwiLX=%?X-$(dIGQNZj@D)3@Ap{F$M;1ko{y}p>uf{$YG(pDfSY^3O(fAx zNPsvSYDqu+YU{A9Y!2iPi6n)ItHxdJs#!ub$o8Q*N$+emm&-eqziu#>Js3*w2@szv z>~z0dBX5c5P^9IiQxkjRv-la=bjG$3lARCJMdsb+5OpKb%@cm%lPB|#L$kIUrF_0R zT4WQpYed`gF;Wm#n&f?l#ubg9IJQ3Q^O8}teMdU2ZL>!w6F~Qv(O&SAM#IE*Su+af-XaO%6+t)2#5`dNNiNq%boH)~T~qFU!0~_j-)r9 z!xx-Ka|tOe2`uH3C_3a0cojzjXs)5brbcd}!LCKHOA+iua`z$FY6!Ltg14UFH70m1 z3Ent@_lID05-dD|#YBc+g~W1)=_i%+=c8GM6@18lLTI0kX}g13(6di_B~dI-qkH>` YGaSi6G+Ac&>^B?4&%HPSK$ZyRrx>-=+Ki_n*c*aYT;*2c148jFDrRnj-C5a`a S#ql}$>BWX7hRYHdF8~06sx=`1 delta 170 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 aj|Kdd3mEdRfOwqqzqvrWBZS$T3;Y7d*Xwuy diff --git a/backend/logs/admin/admin.log b/backend/logs/admin/admin.log index 533988579..587becc0d 100644 --- a/backend/logs/admin/admin.log +++ b/backend/logs/admin/admin.log @@ -109,3 +109,6 @@ 2025-06-11 08:54:14 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True 2025-06-11 08:54:14 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin 2025-06-11 08:54:14 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' +2025-06-11 09:54:19 - [admin] admin - [INFO] INFO - Admin-Check für Funktion admin_dashboard: User authenticated: True, User ID: 1, Is Admin: True +2025-06-11 09:54:19 - [admin] admin - [INFO] INFO - Admin-Dashboard geladen von admin +2025-06-11 09:54:19 - [admin] admin - [ERROR] ERROR - Fehler beim Laden des Admin-Dashboards: 'dict object' has no attribute 'online_printers' diff --git a/backend/logs/app/app.log b/backend/logs/app/app.log index 67ab9e793..5a363ce59 100644 --- a/backend/logs/app/app.log +++ b/backend/logs/app/app.log @@ -4115,3 +4115,157 @@ WHERE users.id = ? 2025-06-11 09:28:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/jobs?page=1 2025-06-11 09:29:03 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json 2025-06-11 09:29:05 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:35:07 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup +2025-06-11 09:35:07 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db +2025-06-11 09:35:07 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-11 09:35:07 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-11 09:35:07 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-11 09:35:07 - [app] app - [INFO] INFO - [START] Server startet auf 0.0.0.0:5000 +2025-06-11 09:35:10 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:35:12 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen +2025-06-11 09:35:13 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:35:15 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:35:16 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen +2025-06-11 09:35:16 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:39:31 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup +2025-06-11 09:39:31 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\instance\printer_manager.db +2025-06-11 09:39:31 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O) +2025-06-11 09:39:31 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert +2025-06-11 09:39:32 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt. +2025-06-11 09:39:32 - [app] app - [INFO] INFO - [START] Server startet auf 0.0.0.0:5000 +2025-06-11 09:41:46 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-11 09:44:42 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-11 09:48:05 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:48:07 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-11 09:48:08 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:48:46 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:48:47 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:52:40 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:52:42 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:52:43 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:52:45 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:52:51 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:52:51 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:52:51 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:54:17 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:54:19 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:54:20 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:54:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:54:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:54:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:54:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:54:50 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:55:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:55:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:55:20 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:55:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:55:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:55:50 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:56:20 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-11 09:56:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:56:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:56:20 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:56:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:56:50 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:56:50 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:57:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:57:20 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:57:20 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:57:53 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/error-recovery/status +2025-06-11 09:57:53 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/admin/system-health +2025-06-11 09:57:53 - [app] app - [INFO] INFO - ✅ API: Statistiken abgerufen +2025-06-11 09:57:55 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:57:55 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse +[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout +FROM users +WHERE users.id = ? + LIMIT ? OFFSET ?] +[parameters: (1, 1, 0)] +(Background on this error at: https://sqlalche.me/e/20/rvf5) +2025-06-11 09:57:56 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen +2025-06-11 09:57:57 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:58:28 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 09:58:30 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 09:58:32 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 09:58:34 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 09:58:36 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 09:58:39 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 09:58:39 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/.well-known/appspecific/com.chrome.devtools.json +2025-06-11 09:58:40 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/static/icons/icon-192.png +2025-06-11 09:59:11 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 09:59:13 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 09:59:16 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 09:59:18 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 09:59:20 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 09:59:22 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 09:59:41 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 09:59:43 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 09:59:46 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 09:59:48 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 09:59:50 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 09:59:52 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:00:11 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:00:13 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:00:16 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:00:18 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:00:20 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:00:22 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:00:41 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:00:44 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:00:46 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:00:48 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:00:50 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:00:52 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:01:11 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:01:13 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:01:16 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:01:18 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:01:20 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:01:22 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:01:41 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:01:43 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:01:46 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:01:48 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:01:50 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:01:52 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:02:44 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:02:47 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:02:49 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:02:51 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:02:53 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:02:55 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:03:44 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:03:47 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:03:49 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:03:51 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:03:53 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system +2025-06-11 10:03:55 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 6, Status: disconnected, Quelle: system +2025-06-11 10:04:38 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 1, Status: disconnected, Quelle: system +2025-06-11 10:04:40 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 2, Status: disconnected, Quelle: system +2025-06-11 10:04:42 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 3, Status: disconnected, Quelle: system +2025-06-11 10:04:44 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system +2025-06-11 10:04:46 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system diff --git a/backend/logs/auth/auth.log b/backend/logs/auth/auth.log index 67608d336..1e0865bbf 100644 --- a/backend/logs/auth/auth.log +++ b/backend/logs/auth/auth.log @@ -29,3 +29,6 @@ 2025-06-10 10:02:24 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet 2025-06-11 08:42:24 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. 2025-06-11 08:42:25 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet +2025-06-11 09:52:39 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich abgemeldet +2025-06-11 09:54:15 - [auth] auth - [WARNING] WARNING - JSON-Parsing fehlgeschlagen: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand. +2025-06-11 09:54:15 - [auth] auth - [INFO] INFO - Benutzer admin@mercedes-benz.com hat sich erfolgreich angemeldet diff --git a/backend/logs/calendar/calendar.log b/backend/logs/calendar/calendar.log index 6e43acd82..a0c726d11 100644 --- a/backend/logs/calendar/calendar.log +++ b/backend/logs/calendar/calendar.log @@ -20,3 +20,4 @@ 2025-06-11 09:08:19 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-07 22:00:00+00:00 bis 2025-06-14 22:00:00+00:00 2025-06-11 09:08:20 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-07 22:00:00+00:00 bis 2025-06-14 22:00:00+00:00 2025-06-11 09:08:20 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-07 22:00:00+00:00 bis 2025-06-14 22:00:00+00:00 +2025-06-11 09:48:07 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-07 22:00:00+00:00 bis 2025-06-14 22:00:00+00:00 diff --git a/backend/logs/jobs/jobs.log b/backend/logs/jobs/jobs.log index 5dc1137b0..7fa7ce859 100644 --- a/backend/logs/jobs/jobs.log +++ b/backend/logs/jobs/jobs.log @@ -1 +1,107 @@ 2025-06-05 11:12:49 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:35:12 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:35:12 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:35:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:35:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:35:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:35:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:35:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:35:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:35:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:35:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:36:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:36:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:37:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:37:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von None (Seite 1) +2025-06-11 09:37:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:37:16 - [jobs] jobs - [ERROR] ERROR - ❌ Fehler beim Abrufen von Jobs: unsupported operand type(s) for +: 'NoneType' and 'int' +Traceback (most recent call last): + File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\jobs.py", line 103, in get_jobs + "pages": (total_count + per_page - 1) // per_page + ~~~~~~~~~~~~^~~~~~~~~~ +TypeError: unsupported operand type(s) for +: 'NoneType' and 'int' +2025-06-11 09:37:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:37:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:37:49 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:37:49 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:38:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:38:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:39:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:39:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:39:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:39:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:39:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:39:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:39:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:39:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:40:23 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:40:23 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:40:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:40:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:40:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:40:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:40:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:40:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:41:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:41:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:41:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:41:16 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:41:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:41:16 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:41:31 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:41:31 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:41:46 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:41:46 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:42:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:42:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:42:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:42:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:43:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:43:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:43:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:43:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:44:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:44:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:45:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:45:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:45:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:45:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:46:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:46:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:46:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:46:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:47:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:47:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:47:42 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:47:42 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:47:56 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:47:56 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:47:56 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:47:56 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) +2025-06-11 09:48:01 - [jobs] jobs - [INFO] INFO - 📋 Jobs-Abfrage gestartet von Benutzer 1 (Admin: True) +2025-06-11 09:48:01 - [jobs] jobs - [INFO] INFO - ✅ Jobs erfolgreich abgerufen: 0 von 0 (Seite 1) diff --git a/backend/logs/permissions/permissions.log b/backend/logs/permissions/permissions.log index 01c681522..bfb68aa7a 100644 --- a/backend/logs/permissions/permissions.log +++ b/backend/logs/permissions/permissions.log @@ -61,3 +61,5 @@ 2025-06-11 09:06:43 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-11 09:08:17 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert 2025-06-11 09:25:48 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-11 09:35:07 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert +2025-06-11 09:39:31 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert diff --git a/backend/logs/printer_monitor/printer_monitor.log b/backend/logs/printer_monitor/printer_monitor.log index 9a98d309a..412f35fac 100644 --- a/backend/logs/printer_monitor/printer_monitor.log +++ b/backend/logs/printer_monitor/printer_monitor.log @@ -586,3 +586,16 @@ 2025-06-11 09:25:58 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.102): UNREACHABLE (Ping fehlgeschlagen) 2025-06-11 09:25:58 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.106): UNREACHABLE (Ping fehlgeschlagen) 2025-06-11 09:25:58 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 6 Drucker +2025-06-11 09:35:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-11 09:35:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-11 09:39:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert +2025-06-11 09:39:31 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet +2025-06-11 09:54:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus... +2025-06-11 09:54:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Prüfe Status von 6 aktiven Druckern... +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.101): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.104): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.100): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.106): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.102): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [WARNING] WARNING - 🔌 Tapo P110 (192.168.0.103): UNREACHABLE (Ping fehlgeschlagen) +2025-06-11 09:54:27 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Status-Update abgeschlossen für 6 Drucker diff --git a/backend/logs/printers/printers.log b/backend/logs/printers/printers.log index b03fe2148..53edeea40 100644 --- a/backend/logs/printers/printers.log +++ b/backend/logs/printers/printers.log @@ -327,3 +327,24 @@ 2025-06-11 09:29:04 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) 2025-06-11 09:29:04 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker 2025-06-11 09:29:04 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 2.40ms +2025-06-11 09:54:18 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:54:27 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:54:27 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 9048.00ms +2025-06-11 09:54:27 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:54:27 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:54:27 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.61ms +2025-06-11 09:54:50 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:54:50 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:54:50 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.73ms +2025-06-11 09:56:00 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:56:00 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:56:00 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.57ms +2025-06-11 09:57:00 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:57:00 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:57:00 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 0.38ms +2025-06-11 09:57:53 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:57:53 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:57:53 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.92ms +2025-06-11 09:57:56 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1) +2025-06-11 09:57:56 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 6 Drucker +2025-06-11 09:57:56 - [printers] printers - [INFO] INFO - [OK] API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 3.80ms diff --git a/backend/logs/queue_manager/queue_manager.log b/backend/logs/queue_manager/queue_manager.log index 2e4419600..cd2ac006f 100644 --- a/backend/logs/queue_manager/queue_manager.log +++ b/backend/logs/queue_manager/queue_manager.log @@ -328,3 +328,20 @@ 2025-06-11 09:29:09 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop 2025-06-11 09:29:09 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet 2025-06-11 09:29:09 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestoppt +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Initialisiere neuen Queue-Manager... +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Zentrale Shutdown-Verwaltung erkannt - deaktiviere lokale Signal-Handler +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Starte Printer Queue Manager... +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - ✅ Printer Queue Manager gestartet +2025-06-11 09:35:07 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestartet +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Initialisiere neuen Queue-Manager... +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Zentrale Shutdown-Verwaltung erkannt - deaktiviere lokale Signal-Handler +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - 🚀 Starte Printer Queue Manager... +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Queue-Überwachung gestartet (Intervall: 120 Sekunden) +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - ✅ Printer Queue Manager gestartet +2025-06-11 09:39:32 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestartet +2025-06-11 10:04:46 - [queue_manager] queue_manager - [INFO] INFO - 🔄 Stoppe Queue-Manager... +2025-06-11 10:04:46 - [queue_manager] queue_manager - [INFO] INFO - ⏳ Warte auf Monitor-Thread... +2025-06-11 10:04:46 - [queue_manager] queue_manager - [INFO] INFO - 🛑 Shutdown-Signal empfangen - beende Monitor-Loop +2025-06-11 10:04:46 - [queue_manager] queue_manager - [INFO] INFO - 🔚 Monitor-Loop beendet +2025-06-11 10:04:46 - [queue_manager] queue_manager - [INFO] INFO - ✅ Queue-Manager erfolgreich gestoppt diff --git a/backend/logs/scheduler/scheduler.log b/backend/logs/scheduler/scheduler.log index bed8000a8..e6ffa24a0 100644 --- a/backend/logs/scheduler/scheduler.log +++ b/backend/logs/scheduler/scheduler.log @@ -136,3 +136,9 @@ 2025-06-11 09:25:48 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True 2025-06-11 09:25:49 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet 2025-06-11 09:25:49 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-11 09:35:07 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-11 09:35:07 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-11 09:35:07 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet +2025-06-11 09:39:31 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True +2025-06-11 09:39:32 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet +2025-06-11 09:39:32 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet diff --git a/backend/logs/security/security.log b/backend/logs/security/security.log index b7ea9d454..04ebc5aa7 100644 --- a/backend/logs/security/security.log +++ b/backend/logs/security/security.log @@ -61,3 +61,5 @@ 2025-06-11 09:06:43 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-11 09:08:17 - [security] security - [INFO] INFO - 🔒 Security System initialisiert 2025-06-11 09:25:48 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-11 09:35:07 - [security] security - [INFO] INFO - 🔒 Security System initialisiert +2025-06-11 09:39:31 - [security] security - [INFO] INFO - 🔒 Security System initialisiert diff --git a/backend/logs/startup/startup.log b/backend/logs/startup/startup.log index 0dd6bf21f..8c7c55cba 100644 --- a/backend/logs/startup/startup.log +++ b/backend/logs/startup/startup.log @@ -483,3 +483,21 @@ 2025-06-11 09:25:48 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert 2025-06-11 09:25:48 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert 2025-06-11 09:25:48 - [startup] startup - [INFO] INFO - ================================================== +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - ================================================== +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-11T09:35:07.466735 +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-11 09:35:07 - [startup] startup - [INFO] INFO - ================================================== +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - ================================================== +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - [START] MYP Platform Backend wird gestartet... +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)] +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32) +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-11T09:39:31.779578 +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert +2025-06-11 09:39:31 - [startup] startup - [INFO] INFO - ================================================== diff --git a/backend/logs/tapo_control/tapo_control.log b/backend/logs/tapo_control/tapo_control.log index e01b35f7d..e98c0ee3f 100644 --- a/backend/logs/tapo_control/tapo_control.log +++ b/backend/logs/tapo_control/tapo_control.log @@ -79,3 +79,28 @@ 2025-06-11 09:23:55 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar 2025-06-11 09:24:17 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet 2025-06-11 09:24:29 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 09:58:26 - [tapo_control] tapo_control - [INFO] INFO - Tapo Dashboard aufgerufen von Benutzer: Administrator +2025-06-11 09:58:28 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.100 nicht erreichbar +2025-06-11 09:58:30 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.101 nicht erreichbar +2025-06-11 09:58:32 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.102 nicht erreichbar +2025-06-11 09:58:34 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.103 nicht erreichbar +2025-06-11 09:58:36 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.104 nicht erreichbar +2025-06-11 09:58:39 - [tapo_control] tapo_control - [WARNING] WARNING - ⚠️ Tapo-Steckdose 192.168.0.106 nicht erreichbar +2025-06-11 09:58:39 - [tapo_control] tapo_control - [INFO] INFO - Dashboard geladen: 6 Steckdosen, 0 online +2025-06-11 09:59:09 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 09:59:22 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 09:59:39 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 09:59:52 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:00:09 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:00:22 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:00:39 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:00:52 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:01:09 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:01:22 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:01:39 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:01:52 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:02:42 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:02:55 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:03:42 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet +2025-06-11 10:03:55 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage abgeschlossen: 0/6 Steckdosen erreichbar +2025-06-11 10:04:35 - [tapo_control] tapo_control - [INFO] INFO - Status-Abfrage für 6 Tapo-Steckdosen gestartet diff --git a/backend/logs/tapo_controller/tapo_controller.log b/backend/logs/tapo_controller/tapo_controller.log index 9b01cd34c..9a87bdd4f 100644 --- a/backend/logs/tapo_controller/tapo_controller.log +++ b/backend/logs/tapo_controller/tapo_controller.log @@ -342,3 +342,23 @@ 2025-06-11 09:26:14 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 5/6: 192.168.0.102 2025-06-11 09:26:20 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 6/6: 192.168.0.105 2025-06-11 09:26:26 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 0/6 steckdosen gefunden in 36.1s +2025-06-11 09:35:07 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert +2025-06-11 09:35:09 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 starte automatische tapo-steckdosenerkennung... +2025-06-11 09:35:09 - [tapo_controller] tapo_controller - [INFO] INFO - 🔄 teste 6 standard-ips aus der konfiguration +2025-06-11 09:35:09 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 1/6: 192.168.0.103 +2025-06-11 09:35:15 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 2/6: 192.168.0.104 +2025-06-11 09:35:21 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 3/6: 192.168.0.100 +2025-06-11 09:35:27 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 4/6: 192.168.0.101 +2025-06-11 09:35:33 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 5/6: 192.168.0.102 +2025-06-11 09:35:39 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 6/6: 192.168.0.105 +2025-06-11 09:35:45 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 0/6 steckdosen gefunden in 36.1s +2025-06-11 09:39:31 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ tapo controller initialisiert +2025-06-11 09:39:33 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 starte automatische tapo-steckdosenerkennung... +2025-06-11 09:39:33 - [tapo_controller] tapo_controller - [INFO] INFO - 🔄 teste 6 standard-ips aus der konfiguration +2025-06-11 09:39:33 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 1/6: 192.168.0.103 +2025-06-11 09:39:39 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 2/6: 192.168.0.104 +2025-06-11 09:39:45 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 3/6: 192.168.0.100 +2025-06-11 09:39:51 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 4/6: 192.168.0.101 +2025-06-11 09:39:57 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 5/6: 192.168.0.102 +2025-06-11 09:40:03 - [tapo_controller] tapo_controller - [INFO] INFO - 🔍 teste ip 6/6: 192.168.0.105 +2025-06-11 09:40:09 - [tapo_controller] tapo_controller - [INFO] INFO - ✅ steckdosen-erkennung abgeschlossen: 0/6 steckdosen gefunden in 36.1s diff --git a/backend/logs/user/user.log b/backend/logs/user/user.log index d4cad8673..60772c403 100644 --- a/backend/logs/user/user.log +++ b/backend/logs/user/user.log @@ -112,3 +112,8 @@ 2025-06-11 09:26:14 - [user] user - [INFO] INFO - User admin retrieved settings via API 2025-06-11 09:26:20 - [user] user - [INFO] INFO - User admin retrieved settings via API 2025-06-11 09:29:04 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-11 09:35:16 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-11 09:48:47 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-11 09:54:18 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-11 09:54:20 - [user] user - [INFO] INFO - User admin retrieved settings via API +2025-06-11 09:57:56 - [user] user - [INFO] INFO - User admin retrieved settings via API diff --git a/backend/logs/windows_fixes/windows_fixes.log b/backend/logs/windows_fixes/windows_fixes.log index 639f50699..83c9825c7 100644 --- a/backend/logs/windows_fixes/windows_fixes.log +++ b/backend/logs/windows_fixes/windows_fixes.log @@ -94,3 +94,11 @@ 2025-06-11 09:25:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) 2025-06-11 09:25:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet 2025-06-11 09:25:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-11 09:35:06 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-11 09:35:06 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-11 09:35:06 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-11 09:35:06 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet +2025-06-11 09:39:31 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an... +2025-06-11 09:39:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen) +2025-06-11 09:39:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet +2025-06-11 09:39:31 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet