Ich habe vor kurzem Log4j verwendet. Ich bin auf eine bessere Protokollierungstechnik der parametrisierten Protokollierung gestoßen.Fehler in der parametrisierten Protokollierung in Java mit log4j
Ich habe den folgenden Link verwiesen.
https://logging.apache.org/log4j/2.x/performance.html
Der obige Link ist für log4j2. Aber ich frage mich, ob das gleiche gilt für 1.2.9
Wenn ich versuche, eine Logger-Anweisung mit Parametern zu schreiben, bekomme ich unter Fehler.
Die Methode info (Object, Throwable) in der Art Kategorie ist nicht anwendbar für die Argumente (String, String)
ich den Quellcode von
checkte ich log4j bin mit 1.2.9
Der Java-Code ist wie folgt.
import org.apache.log4j.Logger;
import com.test.validators.CreateValidator;
public class CreateLogic {
Logger admin = Logger.getLogger("admin");
public void createLogic(){
admin.info("This is Create Logic");
CreateValidator CreateValidator = new CreateValidator();
CreateValidator.validateCreate();
int i = 5;
admin.info("the name is {}",i);
}
}
log4j Eigenschaften sind wie folgt.
log4j.logger.admin=INFO, admin
log4j.additivity.admin = false
log4j.appender.admin=org.apache.log4j.RollingFileAppender
log4j.appender.admin.File=C:\\Create.log
log4j.appender.admin.MaxFileSize=5MB
log4j.appender.admin.MaxBackupIndex=1
log4j.appender.admin.layout=org.apache.log4j.PatternLayout
log4j.appender.admin.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n
Sie haben Recht. '.info (Objektnachricht, Throwable t)' wird sowohl in 1.x als auch in 2.x APIs angeboten. Ihr Problem scheint zu sein, dass Sie "Ich" als Throwable einreichen, aber es ist nicht. – Ishnark
Wie schreibe ich in diesem Fall parametrierte Logger? –
Ich sehe das Problem – Ishnark