【ConcurrentLogHandler】ConcurrentRotatingFileHandlerをsettings.pyに書くサンプルコード
今回はサードパーティ製のライブラリである、ConcurrentRotatingFileHandlerをDjangoを使っているときにsettings.pyに書くときのサンプルコードについてご紹介いたします。
PythonのライブラリとしてConcurrentLogHandlerとconcurrent-log-handlerが存在します。
2021年12月現在、concurrent-log-handlerのみサポートしているので、concurrent-log-handlerを使うことを推奨いたします。
ここでご紹介するのはConcurrentLogHandlerを使った場合のサンプルです。
ConcurrentLogHandlerではなくconcurrent-log-handlerを使った場合のsettings.pyにセットする方法は下記となります。
【concurrent-log-handler】ConcurrentRotatingFileHandlerをsettings.pyに書くサンプルコード
【ConcurrentLogHandler】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': 'cloghandler.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の情報が取得できると思います。
終わりに
今回はサードパーティ製のライブラリである、ConcurrentRotatingFileHandlerをDjangoを使っているときにsettings.pyに書くときのサンプルコードについてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません