ロガーを実装しようと思っています。
以下のようなクラスを定義しています。
python
1class Logger(object): 2 def __init__(self): 3 self.__logger_name = "hoge" 4 5 def build(self): 6 log = logging.getLogger(self.__logger_name) 7 log.setLevel(self.__log_level) 8 9 # handlerをここで追加 10 11 return log
そして呼び出し側では以下のようにしています。
from .logger import Logger log = Logger().build() log.info("huga")
これはうまくいきます。
=> INFO huga
しかし、複数のインスタンスを作ると重複重複して呼ばれます。
python
1log_1 = Logger().build() 2log_2 = Logger().build() 3 4log_1.info("fuga") 5log_2.info("piyo")
すると
INFO fuga INFO piyo INFO fuga INFO piyo
と出ます。
なぜ、このようなことになるのでしょうか?
解決策があれば、ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/11/26 13:28
退会済みユーザー
2018/11/26 13:29