【concurrent-log-handler】ConcurrentRotatingFileHandlerをsettings.pyに書くサンプルコード
今回はサードパーティ製のライブラリである、concurrent-log-handlerをDjangoを使っているときにsettings.pyに書く際のサンプルコードについてご紹介いたします。
PythonのライブラリとしてConcurrentLogHandlerとconcurrent-log-handlerが存在します。
2021年12月現在、concurrent-log-handlerのみサポートしているので、ここでご紹介するconcurrent-log-handlerを使うことを推奨いたします。
【concurrent-log-handler】ConcurrentRotatingFileHandlerをsettings.pyに書くサンプルコード
先にサンプルコードをご紹介いたします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
LOGGING = { 'version': 1, 'disable_existing_loggers': False, "formatters": {"simple-format": {"format": "%(asctime)s [%(levelname)s] %(message)s"}}, 'handlers': { 'file': { 'class': 'concurrent_log_handler.ConcurrentRotatingFileHandler', 'filename': '{ログのパス}/django.log', 'maxBytes': 10000, 'backupCount': 50, "formatter": "simple-format", }, }, 'loggers': { 'django': { 'handlers': ['file'], 'level': 'INFO', 'propagate': False, "formatter": "simple-format", }, }, } |
maxBytesはログローテーションを行うときのファイルの最大サイズです。これを指定しなければデフォルトで0になってしまうと思います。
backupCountはログローテーションを行うときのファイルの数です。こちらもデフォルトで0です。
ひとまず上記のようにmaxBytesとbackupCountを指定してやれば、
1 |
logging.getLogger('Djnago') |
などでsettings.pyにセットしたLOGGINGの情報が取得できると思います。
旧ライブラリのConcurrentLogHandlerとの違いはclassの指定時のインポートの場所が少し異なることしかありません。
終わりに
今回はサードパーティ製のライブラリである、concurrent-log-handlerをDjangoを使っているときにsettings.pyに書く際のサンプルコードについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません