Het probleem is het volgende: voor mijn eigen applicatie gebruikte ik al log4j. Configuratie zet ik vanuit een CDATA blok in de config xml file van mijn app:
So far so good! Dit werkt verder ook prima. Nu maak ik echter ook gebruik van een webservice, en daarvoor gebruik ik Axis. Axis gebruik echter ook log4j.
Nu is het echter zo dat iedere webservice call een belachelijke hoeveelheid logdata aanmaakt. Dat moet er dus uit. Volgens de log4j docs en ook volgens de Axis docs is dat simpel, gewoon:
Toevoegen should do the trick. Nou, niet dus
Axis logt er gewoon vrolijk als een bezetene op los
.
Nu kun je voor axis een log4j config file opgeven. Dat heb ik natuurlijk niet gedaan omdat ik die config gewoon via mijn XML CDATA stukje zet, en de appenders en andere settings werken ook gewoon, en zijn ook van toepassing op het Axis log.
Het is mij dus een raadsel en ik hoop dat jullie mij kunnen helpen...
Edit:
Als ik de rootLogger op WARN zet dan krijg ik van mijn eigen app wel alleen de warm messages, maar van axis niet
. Blijkbaar is log4j nogal selectief m.b.t welke settings deze wel, welke deze wel overneemt voor axis... Erg vaag...
Edit2:
met -Dlog4j.configuration=log4j.properties en een losse log4j.properties file (volgens de manual) geprobeerd de settings te overriden. Levert niks op..
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <debug><![CDATA[ log4j.rootLogger=DEBUG, stdout, fileappender log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %p (%F:%L) - %m%n log4j.appender.fileappender=org.apache.log4j.RollingFileAppender log4j.appender.fileappender.File=udpcontrolserver.log log4j.appender.fileappender.MaxFileSize=8192KB # Keep one backup file log4j.appender.fileappender.MaxBackupIndex=10 log4j.appender.fileappender.layout=org.apache.log4j.PatternLayout log4j.appender.fileappender.layout.ConversionPattern=%d{HH:mm:ss,SSS} %p (%F:%L) - %m%n ]]> </debug> |
So far so good! Dit werkt verder ook prima. Nu maak ik echter ook gebruik van een webservice, en daarvoor gebruik ik Axis. Axis gebruik echter ook log4j.
Nu is het echter zo dat iedere webservice call een belachelijke hoeveelheid logdata aanmaakt. Dat moet er dus uit. Volgens de log4j docs en ook volgens de Axis docs is dat simpel, gewoon:
code:
1
| log4j.logger.org.apache.axis=WARN |
Toevoegen should do the trick. Nou, niet dus
Nu kun je voor axis een log4j config file opgeven. Dat heb ik natuurlijk niet gedaan omdat ik die config gewoon via mijn XML CDATA stukje zet, en de appenders en andere settings werken ook gewoon, en zijn ook van toepassing op het Axis log.
Het is mij dus een raadsel en ik hoop dat jullie mij kunnen helpen...
Edit:
Als ik de rootLogger op WARN zet dan krijg ik van mijn eigen app wel alleen de warm messages, maar van axis niet
Edit2:
met -Dlog4j.configuration=log4j.properties en een losse log4j.properties file (volgens de manual) geprobeerd de settings te overriden. Levert niks op..
[ Voor 9% gewijzigd door voodooless op 11-04-2007 15:03 ]
Do diamonds shine on the dark side of the moon :?