2016-09-08 7 views
1

J'aimerais vraiment utiliser Logging pour m'assurer que mon application fonctionne correctement, mais je n'arrive pas à la faire fonctionner de manière fiable. J'ai seulement remarqué le problème après avoir supprimé toutes les lignes existantes du fichier journal et je ne suis pas sûr si cela arrive à d'autres moments ou non, mais parfois l'information demandée est ajoutée avec succès à mon fichier journal, et d'autres fois rien n'est et le fichier reste vide.Django Logging fonctionne par intermittence

Je l'ai mis en place comme si, logger = logging.getLogger(__name__) et je utilise logger.info("Log This!")

Est-ce causé par la suppression manuelle des choses à partir du fichier journal? Ou peut-être que quelque chose ne va pas avec ma configuration?

LOGGING = {'version': 1, 
    'disable_existing_loggers': False, 
    'formatters': { 
     'verbose': { 
      'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s", 
      'datefmt' : "%d/%b/%Y %H:%M:%S" 
     }, 
     'simple': { 
      'format': '%(levelname)s %(message)s' 
     }, 
    }, 
    'handlers': { 
     'file': { 
      'level': 'INFO', 
      'class': 'logging.FileHandler', 
      'filename': os.path.join(BASE_DIR, 'logs/GeniusLogs.log'), 
      'formatter': 'verbose' 
     }, 
    }, 
    'loggers': { 
     '': { 
      'handlers': ['file'], 
      'level': 'INFO', 
      'propagate': True 
     }, 
     'django': { 
      'handlers':['file'], 
      'propagate': True, 
      'level': os.getenv('DJANGO_LOG_LEVEL', 'INFO'), 
     }, 
    } 
} 

Modifier

Après avoir joué avec elle, il semble que la modification manuelle du fichier journal est ce qui est l'origine du problème. Après avoir édité le fichier, je dois faire une sorte de changement matériel dans les paramètres de journalisation pour le faire fonctionner à nouveau. (Habituellement, commenter l'application Django et charger une page le fera fonctionner).

Répondre

1

Il est préférable d'effacer un journal de la ligne de commande:

with open('AlmondKing/logs/GeniusLogs.log', 'w'): 
    pass