Tant le Python module de journalisation y L'API de configuration de CherryPy utiliser ConfigParser fichiers. J'ai donc supposé que je pouvais utiliser un seul fichier de configuration pour la configuration de mes propres applications, la configuration de la journalisation et la configuration de CherryPy.
Lorsque ma journalisation et CherryPy étaient séparés, ils fonctionnaient bien, et mon fichier de configuration est analysé sans erreur à l'aide de l'api ConfigParser. Cependant, CherryPy semble vomir sur cette section :
[loggers]
keys=root,myapp,cherrypy,cperror,cpaccess
en 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'",))
La documentation de CherryPy ne dit jamais que CherryPy a besoin que son fichier de configuration soit séparé de vos autres configurations, mais je commence à penser que cela pourrait être nécessaire. La documentation indique que la configuration du site et de l'application doit être séparée si vous avez plus d'une application par site, mais ce n'est pas le cas. semble comme un problème différent... est-ce qu'il confond ma configuration de journalisation avec celle d'une application CherryPy ?
Est-ce possible ? Si ce n'est pas le cas, je ne sais pas pourquoi CherryPy se soucie d'utiliser la bibliothèque ConfigParser en premier lieu.