/ / Jak obciąć dziennik Django w programie DEBUG przy każdym uruchomieniu serwera programistycznego? - django, logowanie

Jak obcinam dziennik Django w DEBUGu za każdym razem, gdy uruchamiam serwer programistyczny? - django, logowanie

Chcę mojego Django logging plik wyjściowy, który ma zostać (ponownie) utworzony przy każdym wykonaniu serwera, a nie dołączany do poprzedniego uruchomienia.

Obecnie konfiguruję mój system logowania Django za pośrednictwem LOGGING słownik konfiguracji, więc nie widzę, jak zadzwonić logging.handlers.FileHandler z różnymi argumentami.

Odpowiedzi:

1 dla odpowiedzi № 1

Myślę, że złym rozwiązaniem jest automatyczne usuwanie dzienników. Jeśli nadal chcesz iść do przodu: uruchom kod przy starcie za pomocą AppConfig.ready().

Przykład

Wykonywanie dowolnego kodu przy uruchamianiu, jeśli jesteś w trybie debugowania:

# rock_n_roll/apps.py

from django.apps import AppConfig

class RockNRollConfig(AppConfig):

def ready(self):
if setting.DEBUG:
# Delete, rename or do whatever to your log files.

Możesz sprawić, aby aplikacja ładowała tę podklasę AppConfig domyślnie w następujący sposób:

# rock_n_roll/__init__.py

default_app_config = "rock_n_roll.apps.RockNRollConfig"

Przeczytaj dokumentację, w szczególności ostrzeżenia i uwagi. https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready

Uwaga: Nie zdziw się, jeśli gryzą cię kłody.


0 dla odpowiedzi nr 2

Nie możesz po prostu usunąć lub przenieść pliku przed uruchomieniem serwera?