Wie

2012-03-28 13 views
2

Ich bin mit Jboss 7.1.1 und ich habe die folgende Protokolldefinition Jboss 7 schreiben Protokolle andere Ordner zu konfigurieren:Wie

<subsystem xmlns="urn:jboss:domain:logging:1.1"> 
     <console-handler name="CONSOLE"> 
      <level name="INFO"/> 
      <formatter> 
       <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
      </formatter> 
     </console-handler> 
     <periodic-rotating-file-handler name="FILE"> 
      <formatter> 
       <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
      </formatter> 
      <file relative-to="jboss.server.log.dir" path="server.log"/> 
      <suffix value=".yyyy-MM-dd"/> 
      <append value="true"/> 
     </periodic-rotating-file-handler> 
     <size-rotating-file-handler name="ACEII"> 
      <level name="DEBUG"/> 
      <formatter> 
       <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/> 
      </formatter> 
      <file relative-to="jboss.server.log.dir" path="ACEII.log"/> 
      <rotate-size value="10M"/> 
      <max-backup-index value="10"/> 
      <append value="true"/> 
     </size-rotating-file-handler> 
     <logger category="ace2" use-parent-handlers="false"> 
      <level name="DEBUG"/> 
      <handlers> 
       <handler name="ACEII"/> 
      </handlers> 
     </logger> 
     <logger category="com.arjuna"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="org.apache.tomcat.util.modeler"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="sun.rmi"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="jacorb"> 
      <level name="WARN"/> 
     </logger> 
     <logger category="jacorb.config"> 
      <level name="ERROR"/> 
     </logger> 
     <root-logger> 
      <level name="INFO"/> 
      <handlers> 
       <handler name="CONSOLE"/> 
       <handler name="FILE"/> 
      </handlers> 
     </root-logger> 
    </subsystem> 

Ich mag das ACE-Protokoll wird in einem anderen geschrieben Ordner, also habe ich versucht, verschiedene Werte in das relative-to-Attribut zu setzen, aber nichts scheint zu funktionieren, irgendeine Idee, wie es geht?

Antwort

0

die Antwort gefunden :)

Ich bin mit Java-Service-Wrapper Jboss als Windows-Dienst und Service verfügt über eine Konfigurationsdatei in einem bestimmten Pfad zu installieren, so habe ich bemerkt, dass, wenn ich entfernen die relativ - um es zu schreiben schreiben Sie die Protokolle in den Ordner, in dem sich die Konfigurationsdatei befindet.

Alles, was ich es wie folgt definieren zu tun hatte: für mich

<size-rotating-file-handler name="ACEII"> 
      <level name="DEBUG"/> 
      <formatter> 
       <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/> 
      </formatter> 
      **<file path="../Log/ACEII.log"/>** 
      <rotate-size value="10M"/> 
      <max-backup-index value="10"/> 
      <append value="true"/> 
     </size-rotating-file-handler> 

Und das war der Trick

.

+1

Das ist genau das, was Sie gefragt haben. Auch das Verhalten, das Sie sehen, ist nicht garantiert. Das "../" könnte woanders als das Konfigurationsverzeichnis liegen. –

6

Sie müssen die auslassen und den absoluten Pfad in das Attribut path eingeben.

<size-rotating-file-handler name="ACEII"> 
     <level name="DEBUG"/> 
     <formatter> 
      <pattern-formatter pattern="%z{utc}%d{dd/MM/yyyy HH:mm:ss,SSS} %-5p [%c] %s%E%n"/> 
     </formatter> 
     <file path="/var/log/myLogDir/ACEII.log"/> 
     <rotate-size value="10M"/> 
     <max-backup-index value="10"/> 
     <append value="true"/> 
    </size-rotating-file-handler> 

Sie können auch Ihren eigenen relativen Pfad verwenden, indem Sie einen Pfad zu Ihrer Konfiguration hinzufügen.

In CLI würden Sie gerade ausführen: /path=my.log.dir:add(path="/var/log")

Wenn Sie nur die folgende XML hinzufügen bearbeiten möchten.

Pfade selbst können einen relativen Pfad haben, wenn Sie zum Beispiel bestimmte Verzeichnisse in einem Standardprotokollverzeichnis definieren möchten.

Sobald Sie Ihren Pfad definiert haben, können Sie den Namen verwenden, den Sie im Attribut angegeben haben.

+0

Danke, aber absoluter Pfad ist nicht gut genug, wie Sie sich vorstellen können, und ich habe es mit Umgebungsvariablen versucht, aber ohne Erfolg. Gibt es eine Möglichkeit, meinen eigenen Pfad wie 'jboss.server.log.dir' zu definieren, so dass ich den 'relativ-zu' auf diesen Pfad setzen kann? Ich habe versucht, 'wrapper.app.parameter' und 'wrapper.java.additional' zu verwenden, um diesen Pfad zu definieren, aber ohne Erfolg (ich benutze den Java-Wrapperdienst) – Tomer

+2

Siehe oben. Ich fügte Anweisungen hinzu, wie man das macht. –

+0

Nochmals vielen Dank, dies ist in der Tat ein Fortschritt in Richtung auf was ich brauche, aber wieder scheint es Env nicht zu erlauben. Variablen. – Tomer

3

Das funktioniert ganz gut für mich.

0

Dies ist, was ich verwende; Ich habe dann Logfolge Griff mit logrotate:

<file-handler name="FILE" autoflush="true"> 
     <formatter> 
      <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
     <file relative-to="jboss.server.log.dir" path="server.log"/> 
     <append value="true"/>                                
    </file-handler> 

Natürlich können Sie dies ändern, um Ihre Bedürfnisse anzupassen.

0

weiß, dies ist eine ältere Frage, fand aber immer noch relevant für JBOSS EAP 7

Ich fand James Antwort von hier aufschlussreich - https://developer.jboss.org/wiki/Wildfly82LogPathChange

konnte ich die standalone.conf bearbeiten und die Gewohnheit spezifizieren Verzeichnis dort protokollieren.

Das ist auch eine domain.conf, die für den Domänenmodus bearbeitet werden kann.

Alles, ist es erforderlich, die folgende an das Ende der Datei hinzufügen:

#Specify the log dir 
JAVA_OPTS="$JAVA_OPTS -Djboss.server.log.dir=my custom logs dir" 

Wie ich es für Windows die .bat-Dateien verstehen können, anstatt die aktualisiert werden.Konf-Dateien.