我在django項目中使用python的logging
模塊。我正在執行我的settings.py
文件中的基本日誌記錄配置。像這樣:什麼是DRY方式爲不同的設置配置不同的日誌文件位置?
import logging
import logging.handlers
logger = logging.getLogger('project_logger')
logger.setLevel(logging.INFO)
LOG_FILENAME = '/path/to/log/file/in/development/environment'
handler = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when = 'midnight')
formatter = logging.Formatter(LOG_MSG_FORMAT)
handler.setFormatter(formatter)
logger.addHandler(handler)
我有一個單獨的生產設置文件。此文件(production.py
)從settings
中導入所有內容並覆蓋部分選項(例如,將DEBUG
設置爲False
)。我希望使用不同的LOG_FILENAME
進行生產。我應該怎麼做呢?我可以在production.py
中重複整個配置部分,但如果在生產機器中不存在/path/to/log/file/in/development/environment
,則會產生問題。此外它看起來不太「幹」。
任何人都可以提出一個更好的方法來解決這個問題嗎?
感謝。 我可以看到你的觀點,但我希望我所有的生產特定設置都在一個地方,而不是分成兩個不同的文件。 此外,由於我導入從我的設置文件到production.py和*的所有內容,然後*重寫DEBUG,LOG_FILENAME最終將指向開發位置。 – 2009-07-18 15:40:37