2016-09-08 4 views
1

Loggingを使用してアプリケーションが正常に動作していることを確認したいのですが、確実に動作させることができません。Django Logging Works間欠的に

ログファイルから既存の行をすべて削除しただけで、それが他の時に発生するかどうかわからない場合がありますが、要求された情報がログファイルに正常に追加されることがあります。それ以外の時間は何もなく、ファイルは空白のままです。

私はそれはそうように設定持って

logger = logging.getLogger(__name__)logger.info("Log This!")

を使用していますが、これは、手動でログファイルから物事を削除することによって引き起こされていますか?あるいは私の設定に何か問題がありますか?それで遊んで後編集

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'), 
     }, 
    } 
} 

は、ログファイルを手動で編集すると問題を引き起こしているものと思われます。ファイルを編集した後、再び動作させるためには、ロギング設定に何らかの重要な変更を加えなければなりません。 (通常、Djangoアプリをコメントアウトしてページを読み込むと動作します)。

答えて

1

それは、コマンドラインからログをクリアするのが最善です:

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