log4j package filter

G

Gast2

Gast
Hi,

irgendwie bin ich anscheinend zu blöde die log4j config richtig anzupassen.

Ich habe hier ein Projekt mit ca 25 packages auf der gleichen "Ebene".

Momentan habe ich einfach einen nur den root logger configuriert der sich alles schnappt und auf den appender wirft. Ich möchte jetzt aber zum Beipiel ganz einfach ein package von den 25 anderen vom logging ausschließen ohne jetzt 25 einzlene logger für jedes package zu definieren. Ich denke mal das irgendwas wie "Filter" der gesuchte Ausdruck ist, aber ich komme nicht wirklich weiter.

Also - wie kann ich wenn ich nur den root loogger habe geziehlt ein package ignorieren? Oder ist das so nicht vorgesehn?

Vielen Dank,
fassy
 

mvitz

Top Contributor
Einfach das Level für das Package hochstellen? Auf z.B. FATAL

log4j.rootLogger=INFO, Appender
log4j.logger.de.mypackage=FATAL
 
G

Gast2

Gast
So in der Art hab ich es auch versucht - allerdings verwenden wir die XML config. Also:
[XML]
<category name="com.xyz.abc4">
<priority value="fatal" />
<appender-ref ref="logFile" />
</category>

<root>
<priority value="debug" />
<appender-ref ref="logFile" />
</root>
[/XML]

Dann wir aber nur noch package com.xyz.abc4 auf info level mitgeloggt, die anderen 24 gar nicht mehr... :(
 
Zuletzt bearbeitet von einem Moderator:

mvitz

Top Contributor
Hm, also ich habs gerade mal getestet:

[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="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
</layout>
</appender>

<root>
<priority value ="debug" />
<appender-ref ref="console" />
</root>

</log4j:configuration>[/XML]
Java:
package de.log4j;

import org.apache.log4j.Logger;

import de.log4j.a.A;
import de.log4j.b.B;
import de.log4j.c.C;

public class Main {

    private static final Logger LOG = Logger.getLogger(Main.class);
    
    public static void main(String[] args) {
        LOG.info("Start");
        new A();
        new B();
        new C();
        LOG.info("End");
    }
}
Java:
package de.log4j.a;

import org.apache.log4j.Logger;

public class A {

    private static final Logger LOG = Logger.getLogger(A.class);

    public A() {
        LOG.info("A");
    }
}
Java:
package de.log4j.b;

import org.apache.log4j.Logger;

public class B {

    private static final Logger LOG = Logger.getLogger(B.class);

    public A() {
        LOG.info("B");
    }
}
Java:
package de.log4j.c;

import org.apache.log4j.Logger;

public class C {

    private static final Logger LOG = Logger.getLogger(C.class);

    public A() {
        LOG.info("C");
    }
}

Output:
Code:
INFO  Main - Start
INFO  A - A
INFO  B - B
INFO  Main - End

Das funktioniert bei mir, die Log Message aus C wird nicht mehr ausgegeben.
Liegt es evtl. daran, dass ihr alle Logger mit Logger.getLogger() anders holt, als ich im Beispiel?
 

Der Müde Joe

Top Contributor
[XML] <appender name="CONSOLE" class="ScConsoleAppender">
<param name="threshold" value="DEBUG" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-16.16t] %-5p %l:%n > %m%n" />
</layout>
</appender>
<logger name="org.apache">
<level value="WARN" />
</logger>
<logger name="org.apache.catalina">
<level value="INFO" />
</logger>
<root>
<appender-ref ref="CONSOLE" />
</root>[/XML]

CONSOLE logt alles ab debug.
ausser apache --> nur warn
catalina --> aber schon ab info
 

fastjack

Top Contributor
Im Kurzen und Ganzen mußt Du das für alle Packages getrennt machen. Du kannst aber z.b. ganz com auf Info setzen und damit alle Subpackages auf einmal hochsetzen.
 
G

Gast2

Gast
Das ist ja doof... kann doch nicht sein das noch niemand diese Problem hatte? Ist der Wunsch so außergewöhnlich? Es sollte doch eigentlich ein leichtes sein ein Filter zu schreiben so nach dem Motto:

<filter name="com.abc.xyz" ignore=true>


@mvitz - dein Beispiel verstehe ich nicht. Ohne es jetzt ausprobiert zu haben - du hast doch nur den root logger aktiv und keinerlei Regeln definiert? Zumal die Klassen auch ein wenig komisch aussehn, z.B.:
Java:
public class C {
 
    private static final Logger LOG = Logger.getLogger(C.class);
 
    public A() { // copy und paste fehler?
        LOG.info("C");
    }
}

@Joe

Ja, das wäre die Möglichkeit wenn man alle packages auf verschiedenen package ebenen oder mit verschiedenen package namen hat:
com.abcd.qwert
org.abcd.qwert
usw.

Aber löst leider nicht mein Problem :(

Ich hab z.B.
com.abcd.xyz1
com.abcd.xyz1.asdf
com.abcd.asdf
com.abcd.qwer

usw. und NUR com.abcd.asdf soll nicht mitgelogt werden. Und das mit der minimalsten Config die Möglich ist.
 

mvitz

Top Contributor
Sry, war ein Copy&Paste Fehler die Klassen haben natürlich alle einen eigenen Konstruktor. Und genau das passiert bei mir doch. Ich stelle den Logger für das package de.c auf WARN und anschließend wird dort das Info nicht mehr geloggt...
 

mvitz

Top Contributor
Verdammt... noch ein Copy&Paste Fehler, ... irgendwie spinnt hier mein Strg+C...
[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="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>

<category name="de.log4j.c">
<priority value="warn" />
</category>

<root>
<priority value="debug" />
<appender-ref ref="console" />
</root>


</log4j:configuration>[/XML]
 

Der Müde Joe

Top Contributor
ich versteh dein PRoblem nicht?

[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="console" class="org.apache.log4j.ConsoleAppender">
<param name="threshold" value="TRACE" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
</appender>

<logger name="com.abcd">
</logger>

<logger name="com.abcd.xyz1.asdf">
<level value="OFF" />
</logger>

<root>
<appender-ref ref="console" />
</root>
</log4j:configuration>[/XML]

Log alles ab TRACE von com.abcd und darunter in console und nichts von com.abcd.xyz1.asdf und darunter
 
Ä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
MiMa mit Log4j einzeln Protokollieren Allgemeine Java-Themen 7
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 - 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