В настоящее время я работаю над проектом Python, и я настроил ведение журнала с помощью файла конфигурации. Это уже работало и регистрировало мои сообщения как хотел.
Но затем, после перестановки некоторых пакетов и модулей, я получаю только ключевую ошибку.
Полная трассировка:
Traceback (most recent call last):
File "/Volumes/Daten/Eclipse/workspace/Carputer/src/pyboard/__init__.py", line 42, in <module>
logging.config.fileConfig('../logging.conf', disable_existing_loggers=False)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 70, in fileConfig
formatters = _create_formatters(cp)
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/logging/config.py", line 103, in _create_formatters
flist = cp["formatters"]["keys"]
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/configparser.py", line 937, in __getitem__
raise KeyError(key)
KeyError: 'formatters'
Вот мой файл журнала:
[loggers]
keys=root,pyBoard
[handlers]
keys=consoleHandler
[formatters]
keys=detailedFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler
[logger_pyBoard]
level=DEBUG
handlers=consoleHandler
qualname=pyBoard
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=detailedFormatter
args=(sys.stdout,)
[formatter_detailedFormatter]
format=%(asctime)s - %(name)s - %(levelname)s : Line %(lineno)s - %(message)s
datefmt=
И соответствующий код:
if __name__ == '__main__':
logging.config.fileConfig('../logging.conf', disable_existing_loggers=False)
logger = logging.getLogger(__name__)
obc = Onboard_computer('/dev/ttys001')
obc.run()
Это почти так же, как из учебника по ведению журнала Python. Я действительно не понимаю, почему это не работает, и это сводит с ума. Это сработало, я ничего не изменил ни в коде, ни в настройках, и он просто перестал работать, и Python выдает эту KeyError.
Моя установка: Mac OS X 10.9.2, Eclipse Kepler с PyDev и Python 3.3. Я также протестировал его на Raspberry Pi с Raspbian Wheezy и Python 3.2 и в Eclipse с Python 2.7 (та же ошибка).
Кто-нибудь из вас, ребята, имеет ключ?