Thanks for the clarification.

Originally, I had the Layout retrieve the hostname, but since logging
events can change machines and I want to record where they came from, I
have to modify LoggingEvent. I have to record the hostname somewhere before
it gets sent over a SocketAppender, and that must be in the LoggingEvent.

And then, I'm very wary of extending LoggingEvent cuz it's called
everywhere. I'll break everything. Thus, the only way to do this is to
either get the patch applied or use the MDC. I can use the MDC. Properties
would work too, but stickiness is obviously better.

And, yeah, not all machines have a hostname. A co-worker was also wondering
if they could have more than one, if they have multiple interfaces in some
complex corporate setting where they have one name from the outside and
another from the inside. I don't know.

dan





Ceki Gülcü <[EMAIL PROTECTED]> on 12/12/2002 05:44:10 PM

Please respond to "Log4J Developers List" <[EMAIL PROTECTED]>

To:    "Log4J Developers List" <[EMAIL PROTECTED]>
cc:

Subject:    RE: Hostname support in PatternLayout (patch included)


At 17:14 12.12.2002 -0500, you wrote:


>Sorry. I'm not familiar with JMS. This notion of properties just looks
like
>the MDC to me (and that's exactly how I would handle hostname if it wasn't
>natively supported). Is there some other difference? I don't know how
these
>"properties" work exactly, but I don't want to have to set them at each
>logging call.

Very good question. The MDC and the properties field are very similar
but not quite the same. The MDC is sticky, in the sense that it is
enough to set a key once in the MDC for the lifetime of a thread. On
the other hand, a property in the properties field has to be set for
each and every logging event. An appender could very easily do this at a
negligible performance cost (really!).

>The MDC will work for me, I think. It's just sub-optimal to have
>applications set their hostname when they start up, cuz I still think
>hostname is fundamental enough to be supported.

I concede that the hostname case is border line. Adding a hostname
field could work fine.


Note that from the user point there is not much difference between
calling event.setHostname(x) and event.setProperty("hostname", x).

The real question is whether the hostname is set within the
LoggingEvent class or within an appender. I would prefer to do it in
SocketAppender or JMSAppender where the information is certain to be
useful rather than for all cases (in LoggingEvent) where usefulness is
uncertain.

Also, not all machines have a hostname.

>dan

--
Ceki



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









-------------------------------------------------------------------------------
This message and any included attachments are from Siemens Medical Solutions 
Health Services Corporation and are intended only for the addressee(s).  
The information contained herein may include trade secrets or privileged or 
otherwise confidential information.  Unauthorized review, forwarding, printing, 
copying, distributing, or using such information is strictly prohibited and may 
be unlawful.  If you received this message in error, or have reason to believe 
you are not authorized to receive it, please promptly delete this message and 
notify the sender by e-mail with a copy to [EMAIL PROTECTED]  Thank you

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

Reply via email to