logging-log4cxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steck, David" <david.st...@lmco.com>
Subject RE: how to get the process ID from PatternLayout
Date Tue, 13 Jun 2006 17:55:01 GMT
Just as an idea, you could push the process ID onto the NDC (or MDC)
after you fork(), then display it with %x (or %X) in your pattern.

-David
david.steck@lmco.com

P.S. For anyone who knows:
Looking at the documentation for MDC, why does the C++ log4cxx MDC
require JDK 1.2?  Is that mistakenly copied from log4j?


-----Original Message-----
From: Dizzy [mailto:dizzy@roedu.net]
Sent: Tuesday, June 13, 2006 7:50 AM
To: log4cxx-user@logging.apache.org
Subject: how to get the process ID from PatternLayout


Hi

I am using log4cxx for some multithreaded AND multiprocess programs (I 
fork() on big operations, I spawn thread using boost::thread on per 
operation tasks). For threads "%t" seems to work fine as it uniquely 
identifies the thread but for processes it seems that "%t" displays 
the same thing for all processes forked from the same parent, like I 
have this output from a test program:

$ ./log4cxxtest 
DEBUG 2006-06-13 11:31:26,455 (2812696064 testApp) message1 
 DEBUG 2006-06-13 11:31:26,457 (2812693424 testApp) newthread: 
message2 
 DEBUG 2006-06-13 11:31:26,457 (2812696064 testApp) oldthread: 
message2 
 DEBUG 2006-06-13 11:31:26,458 (2812696064 testApp) child: message3 
 DEBUG 2006-06-13 11:31:26,458 (2812696064 testApp) parent: message3 

Where 2812696064 and 2812693424 are what %t displays.

So... how can I display something to identify the process using 
PatternLayout ?

Thanks!

-- 
Mihai RUSU					Email: dizzy@roedu.net
GPG : http://dizzy.roedu.net/dizzy-gpg.txt	WWW:
http://dizzy.roedu.net
			"Linux is obsolete" -- AST

Mime
View raw message