発生している問題・エラーメッセージ
本番環境用のsettigs.py でrunserver したところ以下のエラーが出ました。
ファイルがないなら作れば解決するかと思ったのですが、そもそもファイルパスの \ となるべきところが \\ となっています。
Traceback (most recent call last): File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\config.py", line 564, in configure handler = self.configure_handler(handlers[name]) File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\config.py", line 745, in configure_handler result = factory(**kwargs) File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py", line 208, in __init__ BaseRotatingHandler.__init__(self, filename, 'a', encoding=encoding, File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py", line 58, in __init__ logging.FileHandler.__init__(self, filename, mode=mode, File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py", line 1146, in __init__ StreamHandler.__init__(self, self._open()) File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py", line 1175, in _open return open(self.baseFilename, self.mode, encoding=self.encoding, FileNotFoundError: [Errno 2] No such file or directory: 'C:\\test\\venv_done_housework\\done\\logs\\django.log' # ファイルパスがおかしい The above exception was the direct cause of the following exception: Traceback (most recent call last): File "C:\test\AppData\Local\Programs\Python\Python39\lib\threading.py", line 973, in _bootstrap_inner self.run() File "C:\test\AppData\Local\Programs\Python\Python39\lib\threading.py", line 910, in run self._target(*self._args, **self._kwargs) File "C:\test\venv_done_housework\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "C:\test\venv_done_housework\lib\site-packages\django\core\management\commands\runserver.py", line 125, in inner_run autoreload.raise_last_exception() File "C:\test\venv_done_housework\lib\site-packages\django\utils\autoreload.py", line 87, in raise_last_exception raise _exception[1] File "C:\test\venv_done_housework\lib\site-packages\django\core\management\__init__.py", line 398, in execute autoreload.check_errors(django.setup)() File "C:\test\venv_done_housework\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "C:\test\venv_done_housework\lib\site-packages\django\__init__.py", line 19, in setup configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) File "C:\test\venv_done_housework\lib\site-packages\django\utils\log.py", line 76, in configure_logging logging_config_func(logging_settings) File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\config.py", line 809, in dictConfig dictConfigClass(config).configure() File "C:\test\AppData\Local\Programs\Python\Python39\lib\logging\config.py", line 571, in configure raise ValueError('Unable to configure handler ' ValueError: Unable to configure handler 'file'
該当のソースコード
python
1# ハンドラの設定 2 'handlers': { 3 'file': { 4 'level': 'INFO', 5 'class': 'logging.handlers.TimedRotatingFileHandler', 6 'filename': os.path.join(BASE_DIR, 'logs/django.log'), 7 'formatter': 'prod', 8 'when': 'D', # ログローテーション(新しいファイルへの切り替え)間隔の単位(D=日) 9 'interval': 1, # ログローテーション間隔(1日単位) 10 'backupCount': 7, # 保存しておくログファイル数 11 }, 12 }, 13
試したこと
python
1print(os.path.join(BASE_DIR, 'logs/django.log')) 2# C:\test\venv_done_housework\done\logs/django.log 3print(BASE_DIR) 4# C:\test\venv_done_housework\done
os.path.join では \\ になりませんでした。
何かヒントを頂けますと幸いです。よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Django 4.0.4
PostgreSQL 14.0
python 3.9.6
Windows 10 home
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/12 10:04
2022/07/12 10:31
2022/08/08 06:06