簡體   English   中英

Python-如何使用ini文件將日志配置到文件並打印到控制台

[英]Python- How to configure the log to a file and print to console using ini file

我是 Python 新手,我正在嘗試登錄到文件和控制台,我看到了這個問題: 記錄器配置以登錄到文件並打印到標准輸出

這非常有幫助,但我看到有一種方法可以配置ini文件,然后在每個模塊中使用它。

問題是它似乎沒有從ini文件中獲取屬性,如果我沒有在代碼中明確定義格式化程序,它會使用默認日志記錄,而沒有我在ini文件中給他的格式:

    configFolder = os.getcwd() + os.sep + 'Configuration'
    fileConfig(configFolder + os.sep + 'logging_config.ini')
    logger = logging.getLogger(__name__)
    # create a file handler
    handler = logging.FileHandler('logger.log')
    handler.setLevel(logging.INFO)

    # add the handlers to the logger
    logger.addHandler(handler)
    logger.info('hello')

輸出將只是:

hello

而不是:

2016-08-08 15:16:42,954 - __main__ - INFO - hello

這是我的ini文件:

[loggers]
keys=root

[handlers]
keys=stream_handler

[formatters]
keys=formatter

[logger_root]
level=INFO
handlers=stream_handler

[handler_stream_handler]
class=StreamHandler
level=INFO
formatter=formatter
args=(sys.stderr,)

[formatter_formatter]
format=%(asctime)s %(name)-12s %(levelname)-8s %(message)s

更改 formatter=formatter 以匹配您的格式化程序的名稱:formatter_formatter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM