mit Log4j einzeln Protokollieren

MiMa

Top Contributor
Hi,
mit log4j protokolliere meine Anwendung.
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    
    <appender name="IndexAppender" class="org.apache.log4j.FileAppender">
        
        <param name="file" value="log/IndexLogger.log" />
        <param name="Append" value="false" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-5p %-45c %m%n" />
        </layout>
    </appender>
        
    <root>
        <priority value="INFO" />
        <appender-ref ref="IndexAppender" />
    </root>
    
</log4j:configuration>
Es wird im Verzeichnis log immer eine Datei mit dem Namen IndexLog.log geschrieben.
Da ich einzelne Dateien verarbeite würde ich gerne das log mit dem gleichen namen wie die Datei schreiben lassen "Dateinamen.log"
Ist das möglich?
Danke
 
K

kneitzel

Gast
Nunja, aber gerade da steht doch, dass JUL immer mehr genutzt wird, weil es eben ausreichend ist und die externe Lib vermeidet.

Und nur weil das noch nicht so ganz klappt, weil ggf. andere Abhängigkeiten auf log4j setzen, ist das nicht wirklich ein Grund, das zu nutzen.

Ich selbst mag diesen Aspekt bei Java nicht ganz so sehr. Es gibt halt zig Logging Frameworks. Und dann hast Du sofort das Problem, welches in Deinem Link ja auch angesprochen wurde, nur eben noch etwas komplexer. Du hast ein größeres Projekt mit vielen Abhängigkeiten und dann hast Du Abhängigkeiten, die log4j, JUL, commons logging, ..... nutzen. Viel Spass damit!

Problem wurde aber ja auch erkannt und dazu gibt es dann slf4j: https://www.slf4j.org/ - das versucht eben diese Problematik zu lösen.

Und siehe da: Wir haben eine recht komplexe Lösung für etwas, was eigentlich in sich unnötig wäre. (Und nur entstanden ist, weil JUL erst mit 1.4 eingeführt wurde und Sun da dann auch schlicht zu blöd war, sich anzusehen, was für Features die Leute brauchen (Wenn man da selbst nicht drauf gekommen wäre, dann hätte man ja bei log4j schauen können, das das so bietet... Also für mich unverständlich!)

Und meine Meinung hier ist, dass man sich immer erst die Grundlagen ansehen soll. Und zu den Grundlagen gehört auch das Framework: Man sollte wissen, was im Framework drin ist und dieses verwenden können. Klar: Wenn es nicht ausreicht, dann nimmt man sich auch externe Libraries dazu, aber dies sollte man aus meiner Sicht nicht zu freimütig machen.
(Man hat ja nicht nur technische Dinge wie z.B. das Thema Updates der Abhängigkeiten oder die erhöhte Komplexität sondern auch juristische: welche Lizenz hat die Abhängigkeit? Was bedeutet dies für die eigene Applikation? Wer muss/darf die Nutzung absegnen?)

Daher denke ich dass man sich nicht leichtfertig auf Abhängigkeiten einschiessen sollte, wenn dies nicht notwendig ist.
 

MiMa

Top Contributor
Da ich aktuell meine vielen kleinen Programmmodule jetzt zu einer Anwendung zusammensetze schau ich mit das JUL mal an. Wenn es einfacher ist und auch logs schreiben kann wie ich diese benötige, sehe ich keinen Grund log4j weiterhin zu nutzen.
 

mihe7

Top Contributor
@kneitzel hat den Hintergrund meiner Frage sehr schön zusammengefasst :) Meine Logging-Erfahrung beschränkt sich darauf, jul zu verwenden. Daher hatte ich die Frage gestellt. Es nervt mich ungemein, wenn man eine kleine Lib verwenden will, dann aber zig Abhängigkeit dazu nehmen muss, weil dort log4j und/oder ähnlich überlebenswichtige Dinge verwendet wird/werden.
 
K

kneitzel

Gast
Ich bin mit meiner Entwicklung tatsächlich bei slf4j gelandet, da ich eben öfters Abhängigkeiten habe, die eben diverse Logging Libraries einsetzt. Das ist irgendwie mit Nutzung von Spring & Co so gekommen. Spring baut mit spring-jcl auf commons logging API auf meine ich mich zu erinnern. Irgendwie peinlich jetzt: Sage ich doch hier jedem, dass er sich genau anschauen muss, was er nutzt und was die Klassen / Libraries / Tools im Detail machen und dass man da nicht raten oder vermuten soll ... und dann ignoriere ich so ganze Bereiche mehr oder weniger .... und ein lapidares "Geht ja" würde ich doch jedem etwas um die Ohren hauen :)

Und wenn man statt dessen log4j einsetzen wollte, dann würde das über eine exclusion gehen um dann die log4j Variante mit einzubinden. Ich werde alt - hab sowas nicht mehr im Kopf und musste jetzt selbst suchen:
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-logging.html

Spring Boot has no mandatory logging dependency, except for the Commons Logging API, which is typically provided by Spring Framework’s spring-jcl module.

Code:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

Also so grob stimmte meine Erinnerung doch ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M log4j Problem mit jlink Allgemeine Java-Themen 19
T Log4j integrieren, wie? Allgemeine Java-Themen 7
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
M Schutz vor Log4J Allgemeine Java-Themen 2
W Sicherheitslücke in Log4j Allgemeine Java-Themen 66
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
A JWS application - log4j wie configurieren Allgemeine Java-Themen 1
A Log4j configurieren Allgemeine Java-Themen 1
L Applet Wo loggt log4j bei Applets Allgemeine Java-Themen 0
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
D Log4J RollingFileAppender rolliert nicht Allgemeine Java-Themen 3
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
O log4j - Verständnisfrage Allgemeine Java-Themen 1
O [log4J] Unterschied SocketServer <-> SimpleSocketServer Allgemeine Java-Themen 0
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
T [log4j] Wie nutzt man log4j.properties? Allgemeine Java-Themen 7
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
O log4j - eigenes Log für einzelne Klasse Allgemeine Java-Themen 5
J log4j ohne propertiedatei Allgemeine Java-Themen 4
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
A Threads Log4J Logger wird "überschrieben" Allgemeine Java-Themen 3
N Log4J PatternLayout Allgemeine Java-Themen 2
S Frage zu Format Modifiers in Log4j Allgemeine Java-Themen 11
S log4j, root logger logt nur FATAL? Allgemeine Java-Themen 9
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
C Grundsätzliches zu log4j Allgemeine Java-Themen 8
C Log4J mit 2 Appender Allgemeine Java-Themen 4
reibi log4j - Bestes Konzept Allgemeine Java-Themen 10
F System.out.println mit log4j ersetzen Allgemeine Java-Themen 10
F Log4J - Detaillierte Logeinträge Allgemeine Java-Themen 2
F log4j DailyRollingFileAppender Allgemeine Java-Themen 2
T Wahrscheinlich Problem mit log4j.properties Allgemeine Java-Themen 19
B Log4J und Categories Allgemeine Java-Themen 4
P Log4J - logt nicht Allgemeine Java-Themen 5
L log4j layout Allgemeine Java-Themen 3
S Log4j und SLF4J - Laufzeitänderungen Allgemeine Java-Themen 11
E Eclipse Axis, Jena, HTTPClient - log4j Meldungen deaktivieren? Allgemeine Java-Themen 6
ruutaiokwu log4j appender in log4j.xml in java referenzieren... Allgemeine Java-Themen 6
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
H log4j & taskname Allgemeine Java-Themen 3
C log4j.properties wird nicht verwendet?? Allgemeine Java-Themen 3
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
K log4j-Warnung mit Quartz Allgemeine Java-Themen 3
G log4j package filter Allgemeine Java-Themen 10
G log4j - Behandlung nicht explizit abgefangener Exceptions Allgemeine Java-Themen 5
S log4j - doppeltes Logging Allgemeine Java-Themen 4
R log4j - Ausgabe der Logs Allgemeine Java-Themen 3
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
MQue log4j mit hibernate Allgemeine Java-Themen 3
G Log4J - Logs älter als 3 Tage löschen Allgemeine Java-Themen 5
S log4j.dtd nicht in jar gefunden Allgemeine Java-Themen 7
H log4j - täglichen DailyRollingFileAppender Allgemeine Java-Themen 2
H Mit Log4j erzeugte Datei einlesen Allgemeine Java-Themen 2
hdi log4j in eine Datei Allgemeine Java-Themen 21
S Log4J DailyRollingFileAppender Allgemeine Java-Themen 4
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
B Log4j --- Welchen Appender, wie konfigurieren Allgemeine Java-Themen 3
F Logger in mehrere Dateien mit log4J Allgemeine Java-Themen 4
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
ARadauer log4j DailyRollingFileAppender Allgemeine Java-Themen 4
B log4j löscht meine Logdateien Allgemeine Java-Themen 2
V Feinheitsfragen zu log4j Allgemeine Java-Themen 21
R log4j Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
K log4j Anzeigeformat Allgemeine Java-Themen 2
O Konkurrierender Zugriff auf Log-Datei mit Log4J Allgemeine Java-Themen 11
A log4j 1.3 und ändern der log Konfiguration zur Laufzeit Allgemeine Java-Themen 4
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
U Log4j - gleichzeitige geöffnete File handles Allgemeine Java-Themen 2
P log4j Allgemeine Java-Themen 21
P log4j Allgemeine Java-Themen 9
B log4j FileAppender Dateizugriff Allgemeine Java-Themen 7
G log4j Allgemeine Java-Themen 13
J Log4j / commons-logging Allgemeine Java-Themen 3
V log4j Problem . Allgemeine Java-Themen 8
D Log4j-HTMLLayout Allgemeine Java-Themen 2
G Log4j - Log-File Allgemeine Java-Themen 6
Q [log4j] nur ein Mal konfigurieren Allgemeine Java-Themen 2
Y log4J XML Konfiguration Allgemeine Java-Themen 8
K Logging mit Log4j Allgemeine Java-Themen 2
P log4j: Übersicht der Properties Allgemeine Java-Themen 5
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
K log4j - eigene Info-Ausgaben Allgemeine Java-Themen 5
K log4j - Fehlermeldung Allgemeine Java-Themen 2
J stackTrace mit log4j loggen Allgemeine Java-Themen 9
F log4j XML-Syntax Allgemeine Java-Themen 4
F log4j loggen in mehrere Dateien Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
Q Ant und org.apache.log4j.xml.DOMConfigurator Problem Allgemeine Java-Themen 2
S log4j Allgemeine Java-Themen 2
V log4j.properties wird in der jar Datei nicht gefunden? Allgemeine Java-Themen 2
F [Log4J] Logdatei mit einem schlag über 200MB! Allgemeine Java-Themen 4
M Log4J - Protokollierung auf die GUI zaubern! Allgemeine Java-Themen 11
S log4j Protokoll in XML Allgemeine Java-Themen 11
B Wohin mit log4j.properties Allgemeine Java-Themen 2
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben