ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

使用配置文件的Python 3.2日志记录在Raspbian上导致KeyError:’formatters’

2019-10-14 00:59:36  阅读:409  来源: 互联网

标签:python logging raspberry-pi keyerror python-3-2


我为我的Python应用程序配备了日志功能,并且在具有Python 3.4的Windows系统上可以完美地运行.但是,当我使用Raspbian和Python 3.2在Raspberry Pi上部署应用程序时,出现以下错误:

Traceback (most recent call last):
  File "aurora/aurora_websocket.py", line 265, in <module>
    logging.config.fileConfig('logging.conf')
  File "/usr/lib/python3.2/logging/config.py", line 70, in fileConfig
    formatters = _create_formatters(cp)
  File "/usr/lib/python3.2/logging/config.py", line 106, in _create_formatters
    flist = cp["formatters"]["keys"]
  File "/usr/lib/python3.2/configparser.py", line 941, in __getitem__
    raise KeyError(key)
KeyError: 'formatters'

logging.conf文件(在没有BOM的情况下以UTF-8编码):

[loggers]
keys=root,simpleExample

[handlers]
keys=screen

[formatters]
keys=simple,complex

[logger_root]
level=NOTSET
handlers=screen

[logger_simpleExample]
level=DEBUG
handlers=screen
qualname=simpleExample
propagate=0

[handler_screen]
class=StreamHandler
level=DEBUG
formatter=complex
args=(sys.stdout,)

[formatter_simple]
format=%(asctime)s - %(levelname)s - %(message)s
datefmt=

[formatter_complex]
format=%(asctime)s - %(levelname)-8s - <%(module)s : %(lineno)d> - %(message)s
datefmt=

日志记录配置以简单的单行代码加载:

logging.config.fileConfig('logging.conf')

我不知所措,因为如上所述,我的应用程序在Windows上可以正常运行,但在RPi上却无法运行.

解决方法:

好吧,这并没有持续很长时间…事实证明,我已经从另一个工作目录在RPi上运行我的应用程序.因此,相对于不同的工作目录,logging.conf文件的文件路径被错误地解释.不幸的是,日志记录库试图继续处理不存在的文件,并且在这种情况下不会抛出有用的异常.

标签:python,logging,raspberry-pi,keyerror,python-3-2
来源: https://codeday.me/bug/20191013/1911374.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有