2012-12-11 18 views
7

Ich habe eine Java EE 5-Webanwendung, die ich als EAR-Datei in WebSphere 7 implementiere.Wie setzt man die Systemvariable log4j.configuration in WebSphere 7?

Ich möchte, dass meine log4j-Konfiguration außerhalb der EAR-Datei liegt, sodass ich den Log-Inhalt bei Bedarf optimieren kann, ohne die EAR-Datei neu erstellen und erneut bereitstellen zu müssen.

Mein Verständnis ist ich kann den Speicherort meiner Log4j.properties-Datei angeben, indem Sie eine "Systemvariable" namens log4j.configuration. (zB log4j.configuration = c: /log4j.properties)

Meine Frage ist, wie setze ich diese Systemvariable in der WebSphere 7 Admin-Konsole?

Durchsuchen herum ich sehe, gibt es Environment > WebSphere Variables, aber das sieht nicht richtig aus, denn das wäre eine Variable für den gesamten Server. Ich schätze, ich möchte eine Systemvariable nur für meine Anwendung EAR-Datei festlegen.

Jede Hilfe oder Vorschläge wird sehr geschätzt!

Rob

Antwort

9

Die log4j.configuration Eigenschaft ist eine Java Virtual Machine Systemeigenschaft. Sie können diese Eigenschaft laden, indem Sie sie am Ende der Liste generischer JVM-Argumente des Anwendungsservers hinzufügen. Dies wird in der WebSphere-Konsole erfolgt durch die Navigation durch die folgenden Möglichkeiten:

Servers > Application servers > [app server name] > Process definition > Java Virtual Machine

unter Generic JVM-Argumente, fügen Sie die folgenden Schritte aus:

-Dlog4j.configuration=file:C:/log4j.properties

Klicken Sie Apply am Ende der Seite, und Speichere deine Änderungen. Dies erfordert einen Neustart des Anwendungsservers, um wirksam zu werden.

+1

Danke, aber das bedeutet, es gibt eine log4j.configuration für alle Anwendungen auf dem Server, richtig? Ich hätte gedacht, ich könnte eine Konfigurationsdatei für meine spezifische Anwendung haben. Ist das möglich? –

+0

Sie haben Recht; das würde überall gelten. Wenn Sie Log4J-Einstellungen auf Anwendungsebene wünschen, müssen Sie in jeder Anwendung eine 'log4j.properties'-Datei packen und die Systemeigenschaft' log4j.configuration' entfernen. – Isaac

1

Sie können auch shared library für eine Anwendung verwenden und Ihre log4j.xml dort ablegen.