そのため、ドキュメントといくつかのスタックオーバーフローの質問を読んで、Python 3.4 で試してみたところ、わかりませんでした。いつ、どのような条件で回転しますか?
2 つのスレッドがあり、停止することはありません。彼らはこのコードを呼び出します(私はロガーがすでにシングルトンであることを知っています、ユーティリティにはもっと無関係なコードがあります):
import logging
from singleton import Singleton
from logging.handlers import TimedRotatingFileHandler
class Utility(metaclass=Singleton):
def _logger(self):
logger = logging.getLogger("main")
logger.setLevel(logging.INFO)
if not logger.hasHandlers():
handler = TimedRotatingFileHandler(
filename = "info.log",
when = 's',
interval = 10,
backupCount = 10,
encoding = 'utf-8'
)
logger.addHandler(handler)
return logger
def log(self, *text):
self._logger().info(' '.join(str(t) for t in text))