diff --git a/docs/azure-tricks.md b/docs/azure-tricks.md index 08fc8876..3aaa3c9d 100644 --- a/docs/azure-tricks.md +++ b/docs/azure-tricks.md @@ -3,9 +3,20 @@ This document should help the user with a few commands, how to handle the azure app. -# Get logs of the container +## Get logs of the container ```bash az webapp log tail --resource-group VBV +``` +## Query for logs + +``` +AppServiceConsoleLogs +| extend logLevel = parse_json(ResultDescription).level +| where logLevel == "error" +| take 10 +``` + +![azure_logs01.png](azure_logs01.png) diff --git a/docs/azure_logs01.png b/docs/azure_logs01.png new file mode 100644 index 00000000..4d25401a Binary files /dev/null and b/docs/azure_logs01.png differ diff --git a/env_secrets/prod-azure.json b/env_secrets/prod-azure.json index 704a2f0a..6e7b30d5 100644 Binary files a/env_secrets/prod-azure.json and b/env_secrets/prod-azure.json differ diff --git a/server/config/urls.py b/server/config/urls.py index b95c509d..325013b0 100644 --- a/server/config/urls.py +++ b/server/config/urls.py @@ -10,6 +10,9 @@ from django.views import defaults as default_views from django.views.decorators.csrf import csrf_exempt from django_ratelimit.exceptions import Ratelimited from graphene_django.views import GraphQLView +from wagtail import urls as wagtail_urls +from wagtail.admin import urls as wagtailadmin_urls +from wagtail.documents import urls as wagtaildocs_urls from vbv_lernwelt.assignment.views import request_assignment_completion_status from vbv_lernwelt.core.middleware.auth import django_view_authentication_exempt @@ -53,9 +56,6 @@ from vbv_lernwelt.importer.views import ( t2l_sync, ) from vbv_lernwelt.notify.views import email_notification_settings -from wagtail import urls as wagtail_urls -from wagtail.admin import urls as wagtailadmin_urls -from wagtail.documents import urls as wagtaildocs_urls class SignedIntConverter(IntConverter): @@ -141,17 +141,21 @@ urlpatterns = [ name='file_upload_local'), # feedback - path(r'api/core/feedback//summary/', get_expert_feedbacks_for_course, + path(r'api/core/feedback//summary/', + get_expert_feedbacks_for_course, name='feedback_summary'), - path(r'api/core/feedback///', get_feedback_for_circle, + path(r'api/core/feedback///', + get_feedback_for_circle, name='feedback_for_circle'), # edoniq test path(r'api/core/edoniq-test/redirect/', get_edoniq_token_redirect, name='get_edoniq_token_redirect'), - path(r'api/core/edoniq-test/export-users/', export_students, name='edoniq_export_students'), - path(r'api/core/edoniq-test/export-trainers/', export_trainers, name='edoniq_export_trainers'), + path(r'api/core/edoniq-test/export-users/', export_students, + name='edoniq_export_students'), + path(r'api/core/edoniq-test/export-trainers/', export_trainers, + name='edoniq_export_trainers'), path(r'api/core/edoniq-test/export-users-trainers/', export_students_and_trainers, name='edoniq_export_students_and_trainers'), @@ -183,16 +187,16 @@ urlpatterns = [ ] urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) -if settings.DEBUG: - # Static file serving when using Gunicorn + Uvicorn for local web socket development - urlpatterns += staticfiles_urlpatterns() - -if settings.APP_ENVIRONMENT != 'production': +if not settings.APP_ENVIRONMENT.startswith('prod'): urlpatterns += [ re_path(r'api/core/cypressreset/$', cypress_reset_view, name='cypress_reset_view'), ] +if settings.DEBUG: + # Static file serving when using Gunicorn + Uvicorn for local web socket development + urlpatterns += staticfiles_urlpatterns() + # fmt: on diff --git a/server/vbv_lernwelt/core/views.py b/server/vbv_lernwelt/core/views.py index f7b815f1..3660cea1 100644 --- a/server/vbv_lernwelt/core/views.py +++ b/server/vbv_lernwelt/core/views.py @@ -133,7 +133,7 @@ def check_rate_limit(request): @authentication_classes((authentication.SessionAuthentication,)) @permission_classes((IsAdminUser,)) def cypress_reset_view(request): - if settings.APP_ENVIRONMENT != "production": + if not settings.APP_ENVIRONMENT.startswith("prod"): call_command("cypress_reset") return HttpResponseRedirect("/server/admin/")