Ahoj, doporučuji tvojí pozornosti class MDC příp. NDC (http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html, http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/NDC.html). Předpokládám že to je to co přesně hledáš.
Mirek -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Thursday, September 25, 2008 3:50 PM To: konference@java.cz Subject: log4j & custom Layout Dobry den, uz delsi dobu se trapim s problemem rozsiritelnosti log4j. Potreboval bych do kazdeho log recordu pridat nejaky identifikator, ceho se tento record tyka - tedy napr. pri prichodu JMS zpravy (vetsina komunikace v nasi aplikaci) z ni vyextrahuju cislo letu, kod aerolinky a datum odletu a tyto data ulozim do ThreadLocal. A ted bych chtel, aby tyto informace log4j vypsal. Chtel bych tedy mit neco jako PatternLayout s nejakym takovym patternem: %-5p [%d{ISO8601}][%t][%C{1}.%M(%L)] %Q %m%n kde %Q bude odpovidat nejakemu memu potomkovi PatternConverteru, ktery vezme informaci z ThreadLocalu a vypise ji. Jake ovsem bylo moje prekvapeni, kdyz jsem zjistil, ze PatternParser je prakticky nerozsiritelny. I kdybych se uz snizil na prepsani jeho metody parse(), tak narazim, protoze vsechny existujici PatternConvertery jsou jaxi private. Predpokladam, ze to nekdy nekdo uz musel resit! Napadlo me sice par reseni ale vsechny jsou tak nejak nepouzitelne anebo pripominaji skrabani se levou rukou za pravym uchem (jako treba "nejvic nejinovativnejsi" reseni: rozparsovani patternu na jednotlive elementy, pruchod chainem Converteru a nahrazeni toho, ktery odpovida %Q tim mym). Predem diky za jakekoliv nakopnuti. Dan.