【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に書く際のサンプルコードについてご紹介いたしました。








ディスカッション
コメント一覧
まだ、コメントがありません