Well upon a bit of further investigation, it would appear to only be an issue when using the non-standard 'contrib' version of the JDBCAppender. The JDBCAppender that is part of the log4j distribution proper works just fine....

-d


At 09:52 AM 2/7/2003 -0500, donald larmee wrote:

Hmm... perhapsI am attempting to use the MDC incorrectly. I have tried to use this technique in the past (with Danko Mannhaupt's variant of Thomas Fenner's JDBCAppender that is included as part of the 'contrib' code in 1.2.7... available here-->http://www.dankomannhaupt.de/projects/index.html)

If I do something like the following:

....
org.apache.log4j.MDC.put("account", "123456789");
log.info("The account number should be passed to the Appender via MDC");
....

And then inside my SqlHandler, (which intercepts the LoggingEvent), I try to retrieve the account pushed into the MDC map by way of:

....
String account = (String) theLogEvent.getMDC("account");
....


I get null when I use a JDBCAppender attached to an AsyncAppender. However, if I change my log4j.xml config to bypass the AsyncAppender and use the JDBCAppender directly, I can successfully retrieve the account from the MDC... Is there something I am missing? For what it is worth, this experiment was attempted with v1.2.7 under WebLogic 7.0.

-don


At 11:41 PM 2/6/2003 +0100, Ceki Gülcü wrote:


I do not think that is correct. AsyncAppender will make sure to set the proper MDC values in the LoggingEvent. As long as you access the MDC through the LoggingEvent you are safe.

At 17:39 06.02.2003 -0500, you wrote:
Sorry for the delay in response.

If you plan to attach your JDBCAppdender to an AsynchronousAppender, be warned that the MDC style approach will not work as the context of the Thread that logs the message will be different from the Appender that actually writes the data.

-D

At 07:54 PM 1/27/2003 +0530, you wrote:



hi,

but what if i have multiple columns ?
i am planning to use "exec proc(?)" and try to tokenize in stored proc
itself

regards,
Amandeep




"Shapira,
Yoav" To: "Log4J Users List" <[EMAIL PROTECTED]>
<Yoav.Shapira@ cc:
mpi.com> Subject: RE: Logging multiple strings

01/27/2003
07:41 PM
Please respond
to "Log4J
Users List"






Howdy,
Have you considering the use of a mapped diagnostic context (MDC)? The
pattern would include %X{username} %X{applicationName}
%X{transactionName} etc. See the JavaDoc for the MDC class and the
manual for examples.

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: [EMAIL PROTECTED]
>[mailto:[EMAIL PROTECTED]]
>Sent: Friday, January 24, 2003 3:57 PM
>To: Log4J Users List
>Subject: Logging multiple strings
>
>
>I'm thinking of using log4j with the jdbc appender, to log some
structured
>information regarding the usage of my applications. I log with
something
>like:
>
>myLogger.info( userName + applicationName + transactionName );
>
>I would like to be able to use a JDBC conversion pattern that would
allow
>me to load the user name in a column, the application name into another
>column, and the
>transaction name into a third column. But, since the logger only
accepts a
>single string as parameter, there is no way once we get into the layout
>specification to make a
>reference to individual elements. The layout only knows that my string
>corresponds to the %m specification.
>
>What I would need is the possibility of calling the logger with a
>collection of strings; then, in the layout, I could reference each
string
>with a %1m , %2m and %3m
>specification - something like
>... INSERT INTO TEST_TABLE ( userName, transactionName, applicationName
)
>VALUES ( "%1m" , "%3m", "%2m" ) " .
>
>I know there is no such thing in the package right now, and I don't
expect
>it any time soon, but do you think it would be feasible? And would it
be
>useful, or am I the
>only one with that kind of requirements?
>
>Serge Arsenault
>
>
>
>
>--
>To unsubscribe, e-mail: <mailto:log4j-user->[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:log4j-user->[EMAIL PROTECTED]>


--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>






--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  donald h. larmee                               [EMAIL PROTECTED]
804.301.UTOP
                         utopian software concepts, inc.
                                 www.utopiansoft.com
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Ceki

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  donald h. larmee                               [EMAIL PROTECTED]

804.301.UTOP
                         utopian software concepts, inc.
                                 www.utopiansoft.com
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
  donald h. larmee                               [EMAIL PROTECTED]
                                                                         804.301.UTOP
                         utopian software concepts, inc.
                                 www.utopiansoft.com
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to