Ich habe ein Maven-Projekt erstellt, das Testfälle und die entsprechende Funktionalität enthält. Die gesamte Funktionalität für Validierungsprüfungen wurde unter src/main/java abgelegt. Auch Testfälle sind Teil von src/test/java. Ich habe unter log4j.properties in src/main/resources platziert.Keine Protokolle aus Maven-Projekt generieren
# Root logger option
log4j.rootLogger=info, file,stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/tmp/reports/logs/log.out
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#To console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Auch in jedem der Klassendateien habe ich zusammen mit unten Importen unterhalb der Linie hinzugefügt:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Initialisierung der Protokolle:
static Logger log = LoggerFactory.getLogger(<class name>.class);
und log.info("")
ist mit Protokollen zu erstellen.
Auch in pom.xml, unter Abhängigkeiten hinzugefügt:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.25</version>
</dependency>
Aber ich Protokolle sehen sind sowohl in der Konsole nicht so gut wie in der Datei /tmp/reports/logs/log.out
aber die Protokolldatei zu erzeugen /tmp/reports/logs/log.out
erfolgreich erstellt wird, aber keine Protokolle Außerdem werden keine Protokolle in der Konsole erstellt.
Ich sehe Protokolle auf Konsole, aber sie sind definitiv nicht in log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Format.
Ich gehe davon aus, dass sie auf Konsole produziert werden, weil ich log4j bezogene Gläser importiert habe.
Kann jemand bitte dabei helfen?
Wenn es nur für Testfälle ist, wäre es nicht einfacher, einfach slf4j-simple zu verwenden? –
Ich habe auch slf4j-simple jar verwendet, aber es werden immer noch keine Logs generiert –
slf4j-simple dient nicht zum Generieren von Protokollen, sondern zur Ausgabe von Log-Statements an die Standardausgabe, damit Sie sehen können, was während des Komponententests passiert. nichts mehr. –