Les fichiers Python logging module et CherryPy's Config API utilisent des fichiers ConfigParser. Par conséquent, j'ai supposé que je pourrais utiliser un seul fichier de configuration pour ma propre configuration d'applications, sa configuration de journalisation et la configuration de CherryPy. Lorsque mon journal et CherryPy étaient séparés, ils fonctionnaient correctement, et mon fichier de configuration n'analyse pas les erreurs en utilisant l'API ConfigParser. Cependant, CherryPy semble barf sur cette section:La journalisation et CherryPy peuvent-ils partager le même fichier de configuration?
[loggers]
keys=root,myapp,cherrypy,cperror,cpaccess
donnant l'exception suivante:
Traceback (most recent call last):
File "/usr/lib/python2.6/multiprocessing/process.py", line 232, in _bootstrap
self.run()
File "/usr/lib/python2.6/multiprocessing/process.py", line 88, in run
self._target(*self._args, **self._kwargs)
File "unittests.py", line 431, in main
cherrypy.config.update(server.CONFIG_FILE)
File "/usr/lib/pymodules/python2.6/cherrypy/_cpconfig.py", line 263, in update
config = _Parser().dict_from_file(config)
File "/usr/lib/pymodules/python2.6/cherrypy/_cpconfig.py", line 383, in dict_from_file
return self.as_dict()
File "/usr/lib/pymodules/python2.6/cherrypy/_cpconfig.py", line 374, in as_dict
raise ValueError(msg, x.__class__.__name__, x.args)
ValueError: ("Config error in section: 'loggers', option: 'keys', value: 'root,myapp,cherrypy,cperror,cpaccess'. Config values must be valid Python.", 'TypeError', ("unrepr could not resolve the name 'root'",))
Les docs CherryPy disent jamais qui a besoin CherryPy son fichier de configuration pour être séparé de votre autre configuration, mais je Je commence à penser que cela pourrait être nécessaire. Les docs disent que la configuration du site et de l'application doit être séparée si vous avez plus d'une application par site, mais que semble comme un problème différent ... est-ce qu'il confond ma configuration de journalisation pour une configuration d'application CherryPy?
Est-ce possible? Si non, alors je ne sais pas pourquoi CherryPy dérange même en utilisant la bibliothèque ConfigParser en premier lieu.