Bonjour,
Est ce que l'utilisation de loggers ralentit une appli web java , en fait , est ce que les retirer permet de gagner du temps ?
Merci d'avance
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Bonjour,
Est ce que l'utilisation de loggers ralentit une appli web java , en fait , est ce que les retirer permet de gagner du temps ?
Merci d'avance
[Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java
Normalement pas grand chose puisque l'écriture sur le fichier ne se fait pas si tu as un niveau de log bas (INFO) (les tests sont effectuées au début de la méthode si les classes sont bien faites.), oui si tu es en DEBUG.
Enfin plus de temps. Clairement.
Ce qui coute n'est pas le fait de logger à proprement parler mais d'évaluer ce que tu vas logger.
par contre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Log.debug("toto"); //ne coute rien du tout !
C'est pour celà que l'api de log java met à disposition la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Log.debug("Error occured " + e.getMessage() + ", " + e.getCode()); // coute l'évaluation de '"Error occured " + e.getMessage() + ", " + e.getCode()'
Log4J met la méthode :public boolean isLoggable(Level level)
Ainsi ton code un peu plus optimisé donne ceci :public boolean isDebugEnabled()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if( logger.isDebugEnabled()) { logger.debug("Error occured " + e.getMessage() + ", " + e.getCode()); }
C'est juste pour aller dans le meme sens, il ne faut pas se priver de cette optimisation! Imagine une grosse application J2EE avec des appels distants, et des logs dans toutes les methodes. Si tu ne faits pas le test, tu instancies un nombre tres importants de String buffer et les performances s'ecroulent.Ainsi ton code un peu plus optimisé donne ceci
Existe t'il des sites web qui bench les performances de l'utilisation de tel ou tel objet en JAVA ?
Ceci afin de savoir ce qu'il vaut mieux eviter d'utiliser ?
Un site sur la performance en JAVA.
Très bien pour éviter les erreurs grossières.
http://www.javaperformancetuning.com/
Partager