📚 Improved log file management system across backend components 🎉

This commit is contained in:
2025-06-12 12:37:32 +02:00
parent 0891dd9dc4
commit 1f653062f4
15 changed files with 534 additions and 0 deletions

View File

@ -18801,3 +18801,501 @@ werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'jobs.j
2025-06-12 11:35:39 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-12 11:35:39 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-12 11:35:39 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: tuple index out of range
2025-06-12 11:44:37 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
2025-06-12 11:44:37 - [app] app - [INFO] INFO - Locating template 'base.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\base.html')
2025-06-12 11:44:37 - [app] app - [INFO] INFO - Locating template 'includes/navbar.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\includes\\navbar.html')
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_114437
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Method: GET
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - User: admin
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Exception Type: BuildError
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 11:44:37 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
return current_app.ensure_sync(func)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard
return render_template("dashboard.html")
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
return _render(app, template, context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
rv = template.render(context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code
{% extends "base.html" %}
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code
{% include 'includes/navbar.html' %}
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 40, in top-level template code
<a href="{{ url_for('jobs.jobs_page') }}"
^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
return self.handle_url_build_error(error, endpoint, values)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
rv = url_adapter.build( # type: ignore[union-attr]
endpoint,
...<3 lines>...
force_external=_external,
)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
raise BuildError(endpoint, values, method, self)
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 11:44:37 - [app] app - [INFO] INFO - Locating template 'errors/500.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\errors\\500.html')
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:45:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:46:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:47:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:48:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:49:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:50:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:51:37 - [app] app - [DEBUG] DEBUG - Response: 500
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:52:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:53:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 11:54:37 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_115437
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - Method: GET
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - User: admin
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - Exception Type: BuildError
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 11:54:37 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
return current_app.ensure_sync(func)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard
return render_template("dashboard.html")
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
return _render(app, template, context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
rv = template.render(context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code
{% extends "base.html" %}
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code
{% include 'includes/navbar.html' %}
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 40, in top-level template code
<a href="{{ url_for('jobs.jobs_page') }}"
^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
return self.handle_url_build_error(error, endpoint, values)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
rv = url_adapter.build( # type: ignore[union-attr]
endpoint,
...<3 lines>...
force_external=_external,
)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
raise BuildError(endpoint, values, method, self)
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:55:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:56:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:57:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:58:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 11:59:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:00:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:01:37 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_120137
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - Method: GET
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - User: admin
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - Exception Type: BuildError
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 12:01:37 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
return current_app.ensure_sync(func)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard
return render_template("dashboard.html")
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
return _render(app, template, context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
rv = template.render(context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code
{% extends "base.html" %}
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code
{% include 'includes/navbar.html' %}
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 40, in top-level template code
<a href="{{ url_for('jobs.jobs_page') }}"
^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
return self.handle_url_build_error(error, endpoint, values)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
rv = url_adapter.build( # type: ignore[union-attr]
endpoint,
...<3 lines>...
force_external=_external,
)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
raise BuildError(endpoint, values, method, self)
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:02:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:03:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:04:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:05:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:06:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:07:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:08:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:09:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:10:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:11:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:12:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:13:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:14:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:15:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:16:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:17:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:18:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:19:37 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250612_121937
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/dashboard
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - Method: GET
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - User: admin
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - Exception Type: BuildError
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 12:19:37 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
return current_app.ensure_sync(func)(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\app.py", line 779, in dashboard
return render_template("dashboard.html")
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
return _render(app, template, context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
rv = template.render(context)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
self.environment.handle_exception()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
raise rewrite_traceback_stack(source=source)
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\dashboard.html", line 1, in top-level template code
{% extends "base.html" %}
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 276, in top-level template code
{% include 'includes/navbar.html' %}
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\includes\navbar.html", line 40, in top-level template code
<a href="{{ url_for('jobs.jobs_page') }}"
^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
return self.handle_url_build_error(error, endpoint, values)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
rv = url_adapter.build( # type: ignore[union-attr]
endpoint,
...<3 lines>...
force_external=_external,
)
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
raise BuildError(endpoint, values, method, self)
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'jobs.jobs_page'. Did you mean 'jobs_page' instead?
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:20:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/notifications
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:21:37 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:21:39 - [app] app - [DEBUG] DEBUG - Request: GET /auth/logout
2025-06-12 12:21:39 - [app] app - [DEBUG] DEBUG - Response: 302
2025-06-12 12:21:39 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
2025-06-12 12:21:39 - [app] app - [INFO] INFO - Locating template 'login.html':
1: trying loader of application '__main__'
class: jinja2.loaders.FileSystemLoader
encoding: 'utf-8'
followlinks: False
searchpath:
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\login.html')
2025-06-12 12:21:39 - [app] app - [DEBUG] DEBUG - Response: 200
2025-06-12 12:32:26 - [app] app - [INFO] INFO - [SHUTDOWN] 🧹 Cleanup wird ausgeführt...
2025-06-12 12:32:26 - [app] app - [INFO] INFO - [SHUTDOWN] ✅ Queue Manager gestoppt
2025-06-12 12:32:26 - [app] app - [ERROR] ERROR - [SHUTDOWN] ❌ Cleanup-Fehler: 'BackgroundTaskScheduler' object has no attribute 'shutdown'
2025-06-12 12:32:28 - [app] app - [WARNING] WARNING - DatabaseCleanupManager nicht verfügbar - Fallback auf Legacy-Cleanup
2025-06-12 12:32:28 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: backend/database/myp.db
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [CONFIG] Erkannte Umgebung: development
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [CONFIG] Production-Modus: False
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [CONFIG] Verwende Development-Konfiguration
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [DEVELOPMENT] Aktiviere Development-Konfiguration
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ MYP Development Environment Konfiguration aktiviert
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Environment: Development/Testing
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ Debug Mode: True
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [DEVELOPMENT] ✅ SQL Echo: True
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] 🚀 Starte MYP DEVELOPMENT-Umgebung
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] 🏢 Mercedes-Benz TBA Marienfelde
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] 🔒 Air-Gapped: True
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] Initialisiere Datenbank...
2025-06-12 12:32:31 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-12 12:32:31 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Datenbank initialisiert
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] Prüfe Initial-Admin...
2025-06-12 12:32:31 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Admin-Benutzer geprüft
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] Starte Queue Manager...
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Queue Manager gestartet
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] Starte Job Scheduler...
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] ✅ Job Scheduler gestartet
2025-06-12 12:32:31 - [app] app - [INFO] INFO - [STARTUP] 🌐 Server startet auf http://0.0.0.0:5000