JBoss log dependencies aus jbossall-client.jar

Weisswurst

Aktives Mitglied
Hi!

Ich habe in meinem EJB Client das Problem, dass ich beim Start folgende Warning bekomme:
Java:
log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory).
log4j:WARN Please initialize the log4j system properly.

Das sogar dann, wenn ich meine logger Aufrufe alle komplett auskommentiere.

Angebliche Lösung wäre eine log4j.properties dem Classpath hinzu zu fügen.
Habe ich gemacht.

Java:
Manifest-Version: 1.0
Main-Class: de.test.HelloTestClient
Class-Path: log4j.properties lib/pivot-core-1.5.1.jar lib/pivot-wtk-1.5.1.jar lib/pivot-wtk-terra-1.5.1.jar lib/jbossall-client.jar lib/helloTestBeanIf.jar

Die log4j.properties habe ich sowohl bei der aufgerufenen TestClient jar liegen. Als auch bei den JBoss jars im lib folder.
Dennoch kommt die Warning. Die Warning würde mich ja nicht so sehr stören, weil die sich ziemlich sicher auf irgend eine jar aus jbossall-client.jar beruft. Das Problem ist, dass ich so überhaupt kein logging habe 🙁

Mein Properties file enthält nur das Nötigste:
Java:
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/home/marco/logwas.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=trace, file

Wo genau muss ich denn die Properties hin legen, dass sie auch von den JBoss jars, die der Client verwendet, gefunden wird?

Thx!
Grüße
Würschtel
 
Wenn du kein Logging benötigst, dann ignoriere diese Meldung. Das ist nur eine Warnung.

Wenn du Logging möchtest, dann nutze besser eine XML Datei für die Konfiguration. Beispiele gibt es genug über Google, auch auf der Homepage von log4j.
Die Konfigurationsdatei muss auf jeden Fall im Klassenpfad liegen.
 
XML hab ich schon versucht.
Ich bevorzuge die .properties. Spielt aber keine Rolle. Die XML wird genau so ignoriert.
Und ja ich brauche Logging!

Das Problem ist ja, dass die Warning nicht von meinem Programm kommt, sondern von einer LIB die mein Programm verwendet.
Und die muss aus einem der JBoss Client libs kommen.

Kann ja eigentlich nicht sein, dass ich der einzige bin, der das Problem hat 🙁
 
Kann ja eigentlich nicht sein, dass ich der einzige bin, der das Problem hat 🙁

Genau das sollte dich stutzig machen. Ich hatte die Lösung schon geschrieben:

1.) Lege die Konfigurationsdatei in den Klassenpfad des Clients bzw. füge das Verzeichnis, in dem die Konfigurationsdatei liegt dem Klassenpfad des Clients hinzu (nicht die Datei selber). Was ein Klassenpfad ist und wie der aussieht sind essentielle Grundlagen.
2.) Google ist dein Freund. Du bist nicht der einzige der ein Problem hat. Mangelnde Kenntnisse und Verständnis bringen dich in einem Forum aber auch nicht weiter. Wenn dir eine Antwort nicht klar ist, dann versuche diese mit Google und evtl. nachfragen (danach!) zu klären. Hier mal was für Log4j, mit Google schnell gefunden: http://www.javacore.de/jumpToDownload.php?id=8
 
Aber hallo.
Ich habe doch schon geschrieben und sogar hier rein kopiert, dass meine log4j.properties im Manifest im classpath steht.
Darüber hinaus liegt sie eh im gleichen Verzeichnis wie die aufgerufene jar und(!) auch noch bei den jboss libs.

Wenn ich mich recht erinnere, war es bei den SE Anwendungen mehr als ausreichend die properties einfach zur Jar zu legen und gut ist.
 
Aber hallo.
Ich habe doch schon geschrieben und sogar hier rein kopiert, dass meine log4j.properties im Manifest im classpath steht.
Darüber hinaus liegt sie eh im gleichen Verzeichnis wie die aufgerufene jar und(!) auch noch bei den jboss libs.

Wenn ich mich recht erinnere, war es bei den SE Anwendungen mehr als ausreichend die properties einfach zur Jar zu legen und gut ist.

Dir auch ein herzliches Hallo,

dein Problem ist es, dass du nicht richtig liest und deine Erinnerung dich trügt.

Du darfst nich die Datei dem Klassenpfad hinzufügen sondern das Verzeichnis bzw. JAR in dem die Datei liegt. Es reicht nur aus die Datei "einfach zu den JARs zu legen", wenn zufällig das Verzeichnis mit den JARs bereits im Klassenpfad enthalten ist. Sonst müsstest du ja auch jede Klasse dem Klassenpfad extra hinzufügen.
 
Es geht jetzt. Ich habe das lib Verzeichnis zum Classpath hin zu gefügt.
Ich wußte nicht, dass das geht. Ich dachte immer, man muss die einzelne Datei dort rein schreiben.
Aber das gilt wohl nur für jar Files.

Ich muss mir das nochmal genau anschauen. Ich habe auch Probleme meine wtkx files in jar files ab zu legen.
Die werden dann auch gerne nicht gefunden. Möglicherweise hängen beide Probleme zusammen.

Das ich dieses Problem mit der Properties bisher nicht hatte, war wohl tatsächlich zufälliger art 🙁

Danke dir!
 

Zurück
Oben