我一直在搜索互联网、Python 的官方文档和 StackOverflow 已经有一段时间了,但似乎找不到正确的答案。
我正在关注 Python 的官方 HOWTO 日志记录 - 我的记录器如下所示:
import os, logging
os.chdir("C:/Users/kerfuffle/Desktop/logtest")
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler("logging.log")
fh.setLevel(logging.INFO)
sh = logging.StreamHandler()
sh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
sh.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(sh)
logger.debug("debug!")
logger.info("info!")
logger.warning("warning!")
Run Code Online (Sandbox Code Playgroud)
代码的最后 3 行工作正常,我们还通过 StreamHandler 获得了正确的输出。
logging.log - 文件:
2020-05-27 15:41:59,586 - INFO - info!
2020-05-27 15:41:59,586 - WARNING - warning!
Run Code Online (Sandbox Code Playgroud)
控制台输出:
2020-05-27 15:41:59,584 - DEBUG - debug!
2020-05-27 15:41:59,586 - INFO - info!
2020-05-27 15:41:59,586 - WARNING - warning! …Run Code Online (Sandbox Code Playgroud)