Wir haben einen JBoss Server, der 6 Instanzen mit dem Namen cim_ms1, cim_ms2, ... cim_ms6 hat. Im Java-Code haben wir Log4g.properties und den Protokolldateipfad ist/home/crm/logs/cim. Derzeit wird für alle 6 Instanzen die Protokolldatei zu Hause/crm/logs erstellt. Es ist jedoch erforderlich, dass die Protokolldatei für alle 6 Instanzen zu home/crm/logs/cim_ms1 für cim_ms1, home/crm/logs erstellt wird/cim_ms2 für cim_ms2 und so weiter. Die Protokolle sollten auch in ihren jeweiligen Protokolldateipfaden korrekt angezeigt werden. cim_ms1, cim_ms2 usw. sind die Servernamen. Wie soll ich diese Pfade dynamisch in log4g-Eigenschaften bekommen?Log4j Dynamische Pfadkonfiguration der Eigenschaftendatei
0
A
Antwort
1
Ich nehme an, dass Sie die gleiche log4j2.xml-Konfigurationsdatei für alle Instanzen verwenden möchten. Sie können die Eigenschaftsersetzung verwenden, um auf separate Protokolldateien zu verweisen. Hier ist ein Beispiel-Konfiguration:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Properties>
<!-- default to use if system property is not specified -->
<Property name="instance">default_instance</Property>
</Properties>
<Appenders>
<File name="MyFile" fileName="home/crm/logs/${sys:instance}/myapp.log">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
Nun, wenn Sie Systemeigenschaft -Dinstance=cim_ms1
für die erste Instanz angeben, -Dinstance=cim_ms2
für die zweite Instanz usw., wird jede Instanz in eine separate Protokolldatei protokollieren.
Anstelle der Systemeigenschaften kann die obige Eigenschaft auch in einer Datei mit dem Namen log4j2.component.properties
angegeben werden, indem diese Datei in den Klassenpfad der Anwendung eingeschlossen wird.
Verwandte Themen
- 1. Konfigurieren der .xml-Eigenschaftendatei - log4j
- 2. Wie log4j Eigenschaftendatei einstellen?
- 3. log4j StringToMatch in Eigenschaftendatei
- 4. log4j Eigenschaftendatei: Wie konfiguriert man?
- 5. commons-logging und log4j Eigenschaftendatei
- 6. So konfigurieren Sie log4j mit einer Eigenschaftendatei
- 7. Log4j verschiedene Appender für verschiedene Protokollebenen mit der Eigenschaftendatei
- 8. Zugang RequireJS Pfadkonfiguration
- 9. Frühling Webkontext Pfadkonfiguration
- 10. Wie konfiguriere ich Log4j, um meine Eigenschaftendatei zu lesen?
- 11. Log4j2 für Spark. Wo ist die Log4j-Eigenschaftendatei?
- 12. Lesen der Eigenschaftendatei
- 13. Dynamische geroutete Datenquelle nach JdbcTemplate und Eigenschaftendatei konfigurieren
- 14. angularjs aus der Eigenschaftendatei lesen
- 15. Persistence.xml Feldwerte aus der Eigenschaftendatei
- 16. Trimmen der Log4J-Nachricht
- 17. So erstellen Sie dynamische Ordner basierend auf Daten in log4j
- 18. Fehlendes Artefakt log4j: log4j: Bündel: 1.2.17
- 19. Springboot externalizing log4j Konfiguration
- 20. Mehrere Eigenschaftendatei
- 21. Heroku-Eigenschaftendatei
- 22. Log4j auf Änderungen in der Konfiguration zur Laufzeit aufmerksam machen
- 23. log4j und der Threadkontext Classloader
- 24. Zippen der Dateien in Log4j
- 25. Nuget-Paket-Wiederherstellung, die meine Repository-Pfadkonfiguration nicht berücksichtigt?
- 26. Einen Wert in der Python-Eigenschaftendatei sichern
- 27. Ein int [] aus der Java-Eigenschaftendatei lesen
- 28. Löschen Sie einen Eintrag aus der Eigenschaftendatei
- 29. Lesen der Eigenschaftendatei von $ TOMCAT_HOME \ lib
- 30. Manuelles Neuladen der Eigenschaftendatei aus Spring messageSource
Tut mir leid, ich kenne JBos nicht genug ... es sollte in der JBoss-Dokumentation sein. Oder fügen Sie es im Klassenpfad Ihrer Webanwendung in eine Datei mit dem Namen 'log4j2.component.properties' ein. –
Dank Remko für die ende Antwort lassen Sie mich wissen, wo genau diese Systemeigenschaft hat in host.xml gesetzt werden Mein Host.xml vom Typ ist: Server Details Serverdetails Bitte vorschlagen. –
Aditi