log4j.Eigenschaften, wo es
Laut log4j manual, sollte ich log4j.properties in den src-Ordner. Ich kopierte diese Datei in alle möglichen Orte, an die ich denke, es wird sich auf log4j. Jedoch, funktioniert dies nicht.
TestEM Klasse enthält viele unit-test-Funktionen (ich benutze testng). Ich führe eine dieser test-Funktionen, die eine Klasse referenziert, die in den Rückmeldungen.Strategie-Paket.
Hier ist der Inhalt der log4j.Eigenschaften Datei:
#log for class1
log4j.category.Demo1=DEBUG, dest1
log4j.appender.dest1=org.apache.log4j.FileAppender
log4j.appender.dest1.File=C:/Users/Asus/workspace/FeedbackProcess/logs/class1.log
log4j.appender.dest1.layout = org.apache.log4j.PatternLayout
log4j.appender.dest1.layout.ConversionPattern= %d %p [%t] (%c) \u2013 %m%n
legen Sie es in die application-Klasse Weg
Dies ist ein duplicate.
dein Kommentar ist korrekt. Das problem ist, dass es keine solche Klasse wie "Demo1" wie in log4j.Kategorie."Demo1" in meinem Projekt. Wenn ich es ändern um eine bestimmte Klasse in meinem Projekt, es funktioniert. Deine Lösung funktioniert auch. Also bitte machen Sie es eine Antwort, so kann ich markieren Sie es als richtig.
Sie nicht haben, um eine
Froh zu wissen, dass es funktionierte. Wie vorgeschlagen, habe ich meinen Kommentar eine Antwort.
Dies ist ein duplicate.
dein Kommentar ist korrekt. Das problem ist, dass es keine solche Klasse wie "Demo1" wie in log4j.Kategorie."Demo1" in meinem Projekt. Wenn ich es ändern um eine bestimmte Klasse in meinem Projekt, es funktioniert. Deine Lösung funktioniert auch. Also bitte machen Sie es eine Antwort, so kann ich markieren Sie es als richtig.
Sie nicht haben, um eine
Demo1
Klasse in Ihrem Projekt. Vielleicht ist es eine der Abhängigkeiten (z.B. der log4j-jar). Nun, wenn das Demo1
- Klasse verwendet SLF4J logging innen, dann log4j wird verstopft werden, um zu behandeln die Protokollierung in übereinstimmung mit der Konfiguration.Froh zu wissen, dass es funktionierte. Wie vorgeschlagen, habe ich meinen Kommentar eine Antwort.
InformationsquelleAutor v4r | 2013-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
vielleicht die Datei log4j.Eigenschaften wird richtig gelesen und das problem ist mit der Konfiguration in log4j.Eigenschaften-Datei. Hat das hinzufügen dieser Zeile an den Anfang des log4j.Eigenschaften, die einen Unterschied machen (vorausgesetzt, Sie haben einige logging-Anweisungen in Ihrer Klasse Dateien)
InformationsquelleAutor GJ13
Dies ist vor allem eine Frage der Konvention und/oder der persönlichen Vorliebe. Das, was ich gewöhnt bin, ist zum erstellen ein anderes source-Verzeichnis (z.B.
config
oderresources
) in das Projekt-Stammverzeichnis (nebensrc
undtest
), dann legen Sie dielog4j.properties
es. Dies kann geschehen, indem Sie mit der rechten Maustaste auf den neu erstellten Ordner und wählen Sie Build Path -> Verwenden Sie als Quell-Ordner. Optional können Sie angeben, einige Inklusion/Exklusion Muster zu.Log4j sucht nach der Datei mit den Eigenschaften auf der root des classpath standardmäßig. Mit dem obigen setup die properties-Datei wird in das Ausgabeverzeichnis kopiert und es wird auf die Wurzel der classpath während der Entwicklung.
Später während der Bereitstellung der
log4j.properties
bekommen würde, gebündelt in der jar/war-Datei zu. Sie vielleicht wollen, überschreiben Sie die gebündelten Eigenschaften, durch die Angabe einer alternativen config-Ordner im classpath während der Laufzeit. (siehe dieser andere Frage und die docs über die Reihenfolge Einträge Vorrang vor der Umgebungsvariable classpath)InformationsquelleAutor Daniel Dinnyes
Müssen Sie legen Sie die log4j.Eigenschaften-Datei auf der Anwendungs-classpath.
InformationsquelleAutor Stijn Haus
Ort log4j.Eigenschaften in WEB-INF\classes, der das Projekt .
Setzen log4j-xx.jar unter WEB-INF\lib für details siehe hier
InformationsquelleAutor PSR