...
Lors du chargement du code, le "modules-manager" va vérifier si un module peut être importé en tant que package Python. En cas d'échec un log en INFO sera affiché.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Try to import a module code in /var/lib/shinken/modules/module_name as python module. |
En cas d'échec, 2 situations sont possibles:
- Si vous n'utilisez pas les fonctionnalités propre à un module python ( import d'un fichier local, ... ), un log en INFO sera affiché.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=module_name ] Failed to import the directory /var/lib/shinken/modules/module_name as a python module. If it doesn't use python module feature, it won't encounter loading problems. |
- Dans le cas contraire, il se peut que l'échec de chargement du module soit lié à un problème d'import de fichier en Python. Les 3 logs en ERROR seront affichés :
Le premier log indique que l'import a échoué et que le module ne sera pas chargé.
Code Block theme Emacs [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name] Failed to import the directory /var/lib/shinken/modules/directory_name as a python module. The module won't be loaded.
Le second log indique que le fichier '__init__.py' dans le dossier du module est manquant ( sans ce fichier, il est impossible d'importer le module en tant que module Python ).
Code Block theme Emacs [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name] - because of missing file : /var/lib/shinken/modules/module_name/__init__.py.
Le troisième log précise quel fichier n'a pas réussi à être importé dans le code du module. Dans notre exemple, c'est le fichier module_name.my_file qui n'a pas été importé.
Code Block theme Emacs [YYYY-MM-DD HH:MM:SS] ERROR : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name] - The line 'import module_name.my_file' The module won't work in your module.py file.
| Code Block | ||
|---|---|---|
| ||
[YYYY-MM-DD HH:MM:SS] INFO : [ daemon_or_module_name ] [ MODULES-MANAGER ] [ CODE-LOADING ] [ directory=directory_name ] Success to import the directory /var/lib/shinken/modules/architecture-export/ as a python module. |
...