J'ai un ensemble d'applications installées sur un serveur que je veux commencer à envoyer des journaux via syslog à un serveur Logstash distant. Pour cela, j'ai créé un seul fichier de configuration de Logback externe contenant un SyslogAppender pointant vers le serveur distant souhaité.Fichier d'initialisation et de journalisation Spring print.config avec les propriétés printanières
Comme plusieurs applications se connecteront sur le même serveur, j'ai changé le modèle de journal pour être les suivantes:
<suffixPattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [${server_instance}] [${application_name}] %p ${PID:- } --- [%15.15t] %logger : %m%n</suffixPattern>
Où server_instance et application_name sont des arguments d'option de ligne de commande prévu au démarrage . Maintenant, il suffit de définir la propriété logging.config de toutes mes applications pointant vers le même fichier de configuration de Logback, et toutes les applications commencent à envoyer les journaux en utilisant le modèle spécifié au serveur souhaité. Cette partie fonctionne comme un charme.
Mais le seul problème que j'ai est que Logback n'est pas en mesure de déterminer la server_instance et la application_name propriétés et ils apparaissent comme [server_instance_IS_NOT_DEFINED] et [application_name_IS_NOT_DEFINED] respectivement. Puis-je y parvenir d'une manière ou d'une autre en utilisant un seul fichier de configuration externe?