Log4j journaux diminue les performances de l'application?
Ne journalisation des baisses de performances de l'application?
et comment faire pour restreindre l'affichage des balises de journaux imprimés dans des fichiers journaux?
par exemple. mon fichier journal a au-dessous des journaux
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
[2012-06-20 15:52:06,290] org.displaytag.tags.TableTag isFirstIteration 684 - [data] first iteration=true (row number=1)
pourquoi le ci-dessus est dans le fichier log?
journal.fichier de propriétés
# Log4j configuration file.
log4j.rootCategory=DEBUG, A1
# Available levels are DEBUG, INFO, WARN, ERROR, FATAL
#
# A1 is a ConsoleAppender
#
log4j.appender.A1 = org.apache.log4j.RollingFileAppender
log4j.appender.A1.File = C:/LogInfo/logfile.log
log4j.appender.A1.MaxFileSize = 100MB
log4j.appender.A1.MaxBackupIndex=50
log4j.appender.A1.layout = org.apache.log4j.PatternLayout
log4j.appender.A1.append = true
log4j.appender.A1.layout.ConversionPattern = [%d] %C %M %L - %m%n
log4j.appender.A1.Threshold = DEBUG
comment arrêter (org.displaytag.les balises.TableTag) de ce genre de journaux imprimés dans des fichiers journaux
double possible de log4j performance
OriginalL'auteur happy | 2012-06-20
Vous devez vous connecter pour publier un commentaire.
Oui. Combien il dépend d'un certain nombre de facteurs; voir ci-dessous.
Par la modification de la ConversionPattern dans les propriétés d'enregistrement
Parce que:
debug(String)
) avec ce message, etPour améliorer les performances:
mettre le
Logger.debug(...)
appel à l'intérieur d'unif
déclaration qui vérifie que l'enregistrement de débogage est activé. Cela permet d'économiser le coût de l'assemblage, le journal de message dans le cas où il ne sera pas nécessaire; voir Dans log4j, ne vérifiant isDebugEnabled avant l'enregistrement d'améliorer les performances?.Mise à JOUR - Avec log4j la version 2, il y a des surcharges que sur les méthodes de journalisation qui prennent un format et des paramètres. Ces de réduire la surcharge lors d'un enregistrement à un niveau qui est désactivé.
Vous pouvez également accélérateur de journalisation à l'Enregistreur de niveau ... comme décrit dans la log4j documentation. En fait, la documentation qui répond à la plupart des questions que vous avez posées, et a beaucoup de détails sur les thèmes de l'enregistrement de la performance et de la configuration de la journalisation.
lire le manuel ... voir le lien dans ma Réponse. C'est expliqué là. (La réponse est "non".)
OriginalL'auteur Stephen C
Réponse courte: oui, il diminue les performances de l'application qu'il utilise quelques cycles CPU et d'autres ressources (mémoire, etc).
Voir aussi cette question : log4j performance
OriginalL'auteur Guido
De journalisation peut être 30% de votre temps cpu ou plus. En termes de gigue, comme les grands (et plus souvent) que votre GC retards.
Un moyen simple de réduire les coûts est d'utiliser le Modèle pour l'éteindre lorsque vous vous connectez chaque message. Dans votre cas c'est %C %M et %L comme il doit tenir une trace de la pile (de l'intégralité de la pile) pour obtenir cette information.
Supprimer les expressions "%C %M %L" avec votre éditeur de texte.
OriginalL'auteur Peter Lawrey
Oui, ils le font. C'est pourquoi vous ne devez vous connecter une erreur ou quelque chose qui doit absolument être connecté. Vous pouvez également enregistrer de l'information utile pour le débogage dans le canal de débogage afin de ne pas affecter les performances de production.
prendre hors de votre conversion motif.
OriginalL'auteur Thihara
comment?
OriginalL'auteur user1419950
Vous pouvez limiter indésirable journaux de ce genre.
Définir la racine de l'enregistreur comme INFO, qui inutiles journaux de débogage de ne pas venir et de remplir votre fichier de log.
Si vous voulez classe spécifique ou un paquet de donner les journaux de DÉBOGAGE, vous pouvez le faire comme ceci.
La ci-dessus sera imprimée niveau de DEBUG de journaux à partir de la classe DefaultLoadEventListener dans votre fichier de log avec d'autres INFO journaux de niveau.
lire le manuel ... c'est expliqué là.
Pas seulement logging.info(...) les journaux viendra.Pour le débogage ou de test, vous devez utiliser le niveau de DÉBOGAGE , pour le déploiement, il convient de INFO.Si vous le souhaitez, vous pouvez activer spécifiquement les journaux de DÉBOGAGE pour certaines classe comme je l'ai mentionné dans ma réponse.
OriginalL'auteur Akhi