Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
themeEmacs
[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
themeEmacs
[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
      themeEmacs
      [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
      themeEmacs
      [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
      themeEmacs
      [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.


Si le "modules-manager" a réussi à importer le module en tant que "module Python", alors un log en INFO apparaîtra.

Code Block
themeEmacs
[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.


...