2017-03-23 3 views
1

Während der Fehlerbehebung in der Entwicklungsumgebung möchte ich in den Protokollen anstelle des aktuellen Datums/der Uhrzeit in den Protokollen Zeit haben.Konfigurieren der Protokollierung: Berichtszeit vom Anwendungsstart an statt des aktuellen Datums/der aktuellen Uhrzeit

Wie in dmesg Ausgabe.

Welche Konfiguration und Formatierung sollte ich verwenden?

UPDATE Es ist ein Beispiel von der offiziellen Website: https://logback.qos.ch/manual/layouts.html#writingYourOwnLayout wo benutzerdefinierte Layout implementiert:

import ch.qos.logback.classic.spi.ILoggingEvent; 
import ch.qos.logback.core.LayoutBase; 

public class MySampleLayout extends LayoutBase<ILoggingEvent> { 

    public String doLayout(ILoggingEvent event) { 
    StringBuffer sbuf = new StringBuffer(128); 
    sbuf.append(event.getTimeStamp() - event.getLoggingContextVO.getBirthTime()); 
    sbuf.append(" "); 
    sbuf.append(event.getLevel()); 
    return sbuf.toString(); 
    } 
} 

Für mich ist es mehr als kompliziert. Solch eine einfache Sache sollte keine Kompilierung erfordern, sondern Konfiguration ... Warum muss ich jar neu packen oder CLASSPATH erweitern, um benutzerdefinierte geschriebene Schriftsteller einzuschließen?

Antwort

1

Es scheint, dass offizielle Dokumente Hinweise dazu hat:

r/relative Outputs the number of milliseconds elapsed since the start 
       of the application until the creation of the logging event. 

Aber Sie es als date nicht formatieren können:

<encoder> 
     <pattern>%r %5p [%15.15t] %logger%n%m%wEx%n</pattern> 
    </encoder> 
Verwandte Themen