質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
ロギング

コンピュータにおけるロギングとは、コンピュータプログラミングにおける形跡を記憶することをさします。これは、システムのアクティビティの理解や、問題究明のために監査証明を残す目的でおこなわれます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

792閲覧

anacondaのspyder4.1.5にてlogger出力が複数回出力される

cookie618

総合スコア2

ロギング

コンピュータにおけるロギングとは、コンピュータプログラミングにおける形跡を記憶することをさします。これは、システムのアクティビティの理解や、問題究明のために監査証明を残す目的でおこなわれます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/18 03:46

編集2021/12/20 07:27

anacondaのspyder4.1.5にてlogger出力する下記プログラムを実行したところ、
出力が2回されてしまいます。
参考にしたサイト
https://gologius.hatenadiary.com/entry/2018/06/06/214541

python

1from logging import getLogger, Formatter, FileHandler,StreamHandler, DEBUG, shutdown 2from logging.handlers import RotatingFileHandler 3loggers = {} 4def setup_logger(moduleName): 5 if moduleName is None: 6 moduleName = __name__ 7 if loggers.get(moduleName): 8 return loggers.get(moduleName) 9 formatter = Formatter('[%(asctime)s | ' 10 '%(name)s | ' 11 '%(levelname)s] ' 12 '%(message)s') 13 streamHandler = StreamHandler() 14 streamHandler.setFormatter(formatter) 15 streamHandler.setLevel(DEBUG) 16 fileHandler = RotatingFileHandler("download.log", maxBytes=5000, backupCount=3, mode='w') 17 fileHandler.setFormatter(formatter) 18 fileHandler.setLevel(DEBUG) 19 logger = getLogger(moduleName) 20 logger.setLevel(DEBUG) 21 logger.addHandler(streamHandler) 22 logger.addHandler(fileHandler) 23 logger.propagate = False 24 loggers[moduleName] = logger 25 return logger 26def killLoggers(): 27 for l in loggers: 28 logger = loggers.get(l) 29 for h in logger.handlers: 30 logger.removeHandler(h) 31 shutdown() 32 return 33 34# # ログの初期設定を行う 35logger = setup_logger("aaa") 36# # ログを出力(debugレベル) 37logger.debug("test") 38killLoggers()

出力結果は
1回目
[2021-12-18 12:44:28,329 | aaa | DEBUG] test
2回目
[2021-12-18 12:44:45,057 | aaa | DEBUG] test
3回目
[2021-12-18 12:45:00,658 | aaa | DEBUG] test
[2021-12-18 12:45:00,658 | aaa | DEBUG] test
4回目
[2021-12-18 12:45:19,908 | aaa | DEBUG] test
[2021-12-18 12:45:19,908 | aaa | DEBUG] test

以降、二回出力のまま。Spyderを再起動すると1回目に戻ります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問