Merci @Guigui. Je t'avais déjà proposé par le passé et je te le repropose aujourd'hui : si jour tu ouvres un Tipeee, fais-moi signe <3
@Animal il n'est apparemment plus possible d'éteindre totalement les logs de Cucumber lorsque les tests passent et de n'imprimer que les tests qui ont échoué.
Si c'est bien le cas, alors Cucumber va sortir illico-presto des frameworks que j'emploie car comme le dit @Kysofer
Un build ne doit jamais rien afficher, sauf quand il plante afin de rester lisible et rapide.
En plusieurs commandes en fonction des cas :
1) Tout cracher en une seule fois
git --no-pager log --pretty=tformat:"%C(yellow)%h %C(cyan)%ad %Cblue%an%C(auto)%d %Creset%s" --graph --date=format:"%Y-%m-%d %H:%M"
2) Avec pagination et le graphe des merges
git log --pretty=tformat:"%C(yellow)%h %C(cyan)%ad %Cblue%an%C(auto)%d %Creset%s" --graph --date=format:"%Y-%m-%d %H:%M"
3) Juste ce qu'il faut
git log --pretty=tformat:"%C(yellow)%h %C(cyan)%ad %Cblue%an%C(auto)%d %Creset%s" --date=format:"%Y-%m-%d %H:%M"
Maven crash beaucoup de logs lorsqu'il build, ce qui peut le ralentir beaucoup. Pour ne garder que les warnings et erreur, il suffit de créer une fonction Bash qui remplace Maven et qui contient la ligne suivante :
mvn clean install -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
Remarque : d'intuition, je dirai que cela doit aussi marcher en mettant à jour la variable MAVEN_OPTS
Pour mon exemple, je ne vais considérer que l'API proposée par SLF4J qui a un niveau de log en moins que celle de Log4j2 (le fatal) mais qui, à mon sens, ne sert à rien puisque logger le fait qu'une application se soit crashée est stupide... Puisqu'on le verra immédiatement qu'elle se soit arrêtée.
Reprenons :
ERROR
À ce niveau de log, il faut enregistrer les actions qui n'ont pas pu aboutir (typiquement une exception). Il faut savoir qu'une succession d'actions n'ayant pas abouties conduit en général à un crash applicatif, d'où le niveau error.
WARNING
À ce niveau de log, il faut enregistrer les événements qui sont incohérents mais vis-à-vis desquels l'application a pu retomber sur ses pâtes et donc poursuivre le traitement. Une succession de warnings trop importante engendre en général une erreur.
INFO
À ce niveau de log, il faut enregistrer l'activité des utilisateurs. Il ne s'agit pas de logs contenant l'état de l'application en elle-même mais ce que les utilisateurs ont essayé de faire avec l'application.
DEBUG
À ce niveau de log, il faut enregistrer l'activité technique de l'application (enregistrement sur le disque, ouverture/fermeture des connexions à la base, etc). Ce niveau de logs est à destination des admin-sys exclusivement pour leur permettre d'identifier un problème de configuration / comportement.
TRACE
À ce niveau de log, il faut enregistrer l'activité algorithmique de l'application, typiquement comment se comporte la mémoire, les threads, la création des objets, la validation / invalidation de contrôles conditionnels (if-else). Ce niveau est à destination des développeurs et uniquement eux pour leur permettre d'identifier l'origine d'un bug en production.
Tout est dans le titre
Ci-dessous se trouve mon /etc/fstab
$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdc1 during installation
UUID=0b59763b-4454-4705-aa57-761039f56cb0 / ext4 errors=remount-ro,discard,noatime,nodiratime 0 1
## Fichier tmp dans la RAM
tmpfs /tmp tmpfs defaults,noatime,nodiratime,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nodiratime,mode=1777 0 0
## Pour les logs
tmpfs /var/log tmpfs defaults,noatime,nodiratime,mode=0755 0 0
Un article sur JSF pour le fun
Comment supprimer l'écriture de log du kernel sous linux (pratique pour les OS sur clefs USB).
En résumé pour System V :
/etc/init.d/syslogd stop
Pour UpStart :
sudo service rsyslog stop
sudo systemctl disable syslog
sudo systemctl disable rsyslog