La sortie du journal multithread de Log4j prête à confusion. Comment résoudre ce problème ? On dit en ligne qu'un fichier de sortie est défini en fonction de différents threads, mais je souhaite les afficher séparément sur la console.
devient
Comme ça
Pour obtenir ce que vous voulez, vous devez imprimer le journal de la console et le thread est bloqué et en attente. Par exemple, le thread A commence à exécuter et à imprimer le journal, et le thread B commence également à imprimer le journal de sortie puisque le thread A n'a pas terminé. En cours d'exécution, le contenu de sortie du thread B doit attendre la fin de l'exécution du thread A avant de sortir. Et si le thread A est un thread de longue durée ? Le thread B ne peut pas imprimer les journaux. Cette solution est absolument inacceptable
.Méthode de compromis :
1. Ajoutez %t au LayoutPattern du journal imprimé et affichez le nom du fil
2. La console ne génère que des threads spécifiques
On estime que les deux méthodes sont identiques. n'est pas la méthode souhaitée par l'interrogateur. Attendons que les experts voient s'il existe une méthode