3.4. Logging¶
Tous les logiciels Vitam utilisent le logger VitamLogger instantié via VitamLoggerFactory.
3.4.1. Initialisation¶
Dans la Classe contenant la méthode main : si Logback n’est pas l’implémentation choisie, il faut changer le Factory.
// Out of **main** method
private static VitamLogger logger;
// In the **main** method
VitamLoggerFactory.setDefaultFactory(another VitamLoggerFactory);
// Could be JdkLoggerFactory, Log4JLoggerFactory, LogbackLoggerFactory
logger = VitamLoggerFactory.getInstance(Class);
// or
logger = VitamLoggerFactory.getInstance(String);
Si l’implémentation est bien celle de Logback, cette initialisation peut être ignorée.
3.4.2. Usage¶
private static final VitamLogger LOGGER = VitamLoggerFactory.getInstance(Class);
LOGGER.debug(String messageFormat, args...);
// Note messageFormat supports argument replacement using '{}'
LOGGER.debug("Valeurs: {}, {}, {}", "value", 10, true);
// => "Valeur: value, 10, true"
Il est possible de changer le niveau de log :
VitamLoggerFactory.setLogLevel(VitamLogLevel);
5 niveaux de logs existent :
- TRACE : le plus bas niveau, ne devrait pas être activé en général
- DEBUG : le plus bas niveau usuel
- INFO : pour des informations explicatives ou contextuelles
- WARN : pour les points d’attentions (warning)
- ERROR : pour les erreurs
3.4.3. Pour l’usage interne Vitam¶
private static final VitamLogger LOGGER = VitamLoggerFactory.getInstance(Class);
static final VitamLoggerHelper LOGGER_HELPER = VitamLoggerHelper.newInstance();
LOGGER.debug(LOGGER_HELPER.format(message), args...);
// Allow special formatting and extra information to be set