サンプル集  >  Python  >  logging
logging
2023/07/17

loggingの使用例です。

◆環境
OS Windows 10 Home 22H2 64bit OS x64 プロセッサ
Python 3.9.6
VS Code 1.80.0

testLogger.py
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
import json
from logging import getLogger, config

# 環境設定ファイルの読み込み
with open("testLogger.config.json""r") as f:
    log_conf = json.load(f)

config.dictConfig(log_conf)

logger = getLogger(__name__)
logger.info("Hello logger")

val = 123
logger.info(f"{val=}")
logger.info(f"{val=:05}")

testLogger.config.json
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
{
    "version": 1,
    "disable_existing_loggers": false,
    "formatters": {
        "simple": {
            "format""%(asctime)s %(name)s:%(lineno)s %(funcName)s [%(levelname)s]: %(message)s"
        }
    },

    "handlers": {
        "consoleHandler": {
            "class""logging.StreamHandler",
            "level""INFO",
            "formatter""simple",
            "stream""ext://sys.stdout"
        },
        "fileHandler": {
            "class""logging.FileHandler",
            "level""INFO",
            "formatter""simple",
            "filename""testLogger.log"
        }
    },

    "loggers": {
        "__main__": {
            "level""DEBUG",
            "handlers": ["consoleHandler""fileHandler"],
            "propagate": false
        }
    },

    "root": {
        "level""INFO"
    }
}

実行してみます。

PS C:\pywork> py .\testLogger.py
2023-07-17 14:29:15,860 __main__:11  [INFO]: Hello logger
2023-07-17 14:29:15,860 __main__:14  [INFO]: val=123
2023-07-17 14:29:15,860 __main__:15  [INFO]: val=00123

期待通りに表示されました。

同じフォルダに「testLogger.log」というファイルができていて標準出力と同じ内容が書き込まれていました。

▲ PageTop  ■ Home


Copyright (C) 2023 ymlib.com