Ich versuche log4j zum ersten Mal zu verwenden, und ich habe es richtig konfiguriert ist, ich wollte nur wissen, wie kann ich die Details des Arguments druckt als zweite Parameter übergeben:Wie das zweite Argument in log4j anmelden
LogManager.getLogger(SomeName.class.getName()).info(message, detail);
und meine Konfiguration appender ist:
<File name="file1" fileName="output.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
ich denke, es sollte eine gewisse Schalter innerhalb des Musters nach %msg
, wenn ich dort das Detail protokolliert werden sollen. Aber ich bin mir nicht sicher, was oder wie.
Was ist 'detail' in diesem Beispiel? Ist es nur ein Java-Objekt, über das Sie Informationen protokollieren möchten? In log4j wird die Zeichenfolge '{}' in der Nachricht durch die Argumente der Reihe nach ersetzt. Logger.info ("{} ist also {} elements long", list, list.size()) ' –
Ich stimme @AndrewRueckert zu. Sie können beliebig viele Daten in log.info() oder in log.debug() drucken. Sie müssen nur {} für jede Variable hinzufügen, und Sie müssen den Wert in einen durch Kommas getrennten Wert eingeben. z.B. log.info ("Heute ist: {} Tag von {} Monat {} Jahr", Tag, Monat, Jahr); – sauumum
Dank @AndrewRueckert und sauumum hat es funktioniert :) – Tester