[java] log4j probleem

Pagina: 1
Acties:

  • Cuball
  • Registratie: Mei 2002
  • Laatst online: 04-05 13:54
ik heb men logging zo ingesteld dat ik enkel logs wil zien die van men eigen applicatie komen, het probleem is nu echter dat deze allemaal 2x uitgeschreven worden, hieronder men log4j.properties

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
## direct log messages to stderr ###
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.Target=System.err
log4j.appender.stderr.layout=be.xxx.common.logging.UserPatternLayout

log4j.appender.stderr.layout.showApplication=true
log4j.appender.stderr.layout.showUserName=true
log4j.appender.stderr.layout.applicationName=Appartementen

log4j.appender.stderr.layout.ConversionPattern=%d{DATE} %5p %c{1}:%L - %m%n



log4j.rootLogger=error, stderr
log4j.logger.be.xxx.apartment = trace, stderr


gelijk wat ik kies: info, trace, debug, error .. alles komt er 2x in. Het vreemde is dat dit bij Hibernate / Spring / Struts niet het geval is...

"Live as if you were to die tomorrow. Learn as if you were to live forever"


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Kan het zijn dat je applicatie en je applicatie server aan het loggen zijn? Dus dat zowel de loghandler van je applicatie als van de applicatieserver jouw log messages opvangen en naar de console schrijven.

  • Kwistnix
  • Registratie: Juni 2001
  • Laatst online: 19:18
Wellicht heb je al een consoleLogger toegevoegt aan een parent class en weer een keer opnieuw aan een child klasse van die parent?

Aan de root logger is al een consoleAppender gehangen, wanneer je aan jouw logger dan nog een consoleAppender toevoegt krijg je ook dubbele output, toch?

[ Voor 80% gewijzigd door Kwistnix op 08-07-2005 16:45 ]


  • misfire
  • Registratie: Maart 2001
  • Laatst online: 12-10-2024
Waarschijnlijk is dit een probleem in je log4j configuratie. Probeer de system property "log4j.debug=true" eens te zetten. Dan krijg je heel veel nuttige informatie over wat log4j aan het doen is op je console.

  • momania
  • Registratie: Mei 2000
  • Laatst online: 19:39

momania

iPhone 30! Bam!

voeg het volgende eens toe:
code:
1
log4j.appender.stderr.additivity=false
Wat je nu nml. doet met het volgende:
code:
1
2
log4j.rootLogger=error, stderr
log4j.logger.be.xxx.apartment = trace, stderr

be.xxx.apartment laat je loggen naar de stderr, maar die package wordt ook evengoed opgepikt door de rootLogger. Vandaar dus dat je alles twee keer ziet ;)

additivity=false zorgt er voor dat alles wat door die appender wordt gelogt, niet meer door de root wordt gelogt :)

[edit]
Het is misschien nog makkelijker voor je om eens te kijken naar een xml als log4j configuratie. Dat werkt echt 10x makkelijker :)

[ Voor 13% gewijzigd door momania op 09-07-2005 18:32 ]

Neem je whisky mee, is het te weinig... *zucht*