Искам моя Джанго logging
изходния файл да бъде (повторно) създаден при всяко изпълнение на сървъра, вместо да се прибавя към предишното изпълнение.
Понастоящем настройвам моята система за регистриране на Django през LOGGING
конфигурационен речник, така че не виждам как да се обадя logging.handlers.FileHandler
с различни аргументи.
Отговори:
1 за отговор № 1Мисля, че е лоша практика автоматичното изтриване на дневници. Ако все още искате да продължите: Изпълнете кода при стартиране с AppConfig.ready()
.
пример
Изпълнение на кода при стартиране, ако сте в режим на отстраняване на грешки:
# 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.
Можете да накарате приложението си да зареди този подклас AppConfig по подразбиране, както следва:
# rock_n_roll/__init__.py
default_app_config = "rock_n_roll.apps.RockNRollConfig"
Прочетете документацията, особено предупрежденията и бележките. https://docs.djangoproject.com/en/dev/ref/applications/#django.apps.AppConfig.ready
Забележка: Не се учудвайте, ако засрамването на трупите ви ухапе.
0 за отговор № 2
Не можете просто да изтриете или преместите файла, преди да стартирате сървъра?