logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Zbynek Vavros <Zbynek_Vav...@cz.ibm.com>
Subject RE: [SCL-3] using of system properties in subject of SMTPAppender
Date Wed, 25 May 2011 11:40:40 GMT

Hi,

thx for advice but since default SMTPAppender does not allow usage of
PatternLayout in subject
I needed to implement this by extedning usual SMTPAppender.
Now it works just fine :)
                                                                         
 Kind Regards / Mit                                                      
 freundlichen Grüßen /                                                   
 Üdvözlettel / S                                                         
 pozdravem:                                                              
                                                                         
                                                                         
 Zbynek VAVROS                                                 (Embedded 
 Development                                                 image moved 
                                                                to file: 
                                                           pic14444.gif) 
                                                                         
     Delivery Centre      616 00, Brno                                   
      Central Europe      Technicka 21                                   
        Brno SITE         Czech Republic                                 
                                                                         
 (Embedded image moved to                                                
   file: pic01271.gif)    Phone: 420-53341- x6283                        
                          Mobile:                                        
                          E-mail: Zbynek_Vavros@cz.ibm.com               
                                                                         
                                                                         
                                                                         
                                                                         
   IBM Global Services                                                   
  Delivery Center Czech                                                  
     Republic, s.r.o.                                                    
   Registered address:                                                   
 Brno, Technicka 2995/21,                                                
 Zip code: 61600, Company                                                
       ID: 26244535                                                      
      Entered in the                                                     
   Commercial Register                                                   
    maintained by the                                                    
  Regional Court in Brno                                                 
  (Part C, Entry 39922)                                                  
                                                                         
   IBM Global Services                                                   
  Delivery Center Czech                                                  
     Republic, s.r.o.                                                    
  Sídlo: Brno, Technická                                                 
  2995/21, PSČ 61600 IČ:                                                 
         26244535                                                        
   Zapsaná v obchodním                                                   
    rejstříku, vedeném                                                   
  Krajským soudem v Brně                                                 
  oddíl C, vlozka 39922                                                  
                                                                         





|------------>
| From:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |Bender Heri <hbender@ergonomics.ch>                                             
                                                                 |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To:        |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |"'Log4J Users List'" <log4j-user@logging.apache.org>                            
                                                                 |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Date:      |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |05/24/2011 01:18 PM                                                                   
                                                           |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| Subject:   |
|------------>
  >--------------------------------------------------------------------------------------------------------------------------------------------------|
  |RE: [SCL-3] using of system properties in subject of SMTPAppender                     
                                                           |
  >--------------------------------------------------------------------------------------------------------------------------------------------------|





Usually a customer  is served within one separate thread, isn't it? If yes,
you can use the MDC (mapped diagnostic context). You put a value into it:
MDC.put("CUSTOMER", "SOME NAME") at the begin of the session (probably in a
servlet listener) and reference this value with the layout pattern %X
{CUSTOMER}.
Do not forget to remove the value when session terminates!
Heri

> -----Original Message-----
> From: Zbynek Vavros [mailto:Zbynek_Vavros@cz.ibm.com]
> Sent: Monday, May 23, 2011 4:18 PM
> To: log4j-user@logging.apache.org
> Subject: [SCL-3] using of system properties in subject of SMTPAppender
>
>
>
> Hi,
>
> I have a 1 server app and many clients app on different servers.
> Obviously I wanted to know from which server the email comes,
> so I used
> this:
>
> log4j.xml
> <appender name="email" class="org.apache.log4j.net.SMTPAppender">
>       <param name="BufferSize" value="512" />
>       <param name="SMTPHost" value="my_smtp_host" />
>       <param name="From" value="AutoBot" />
>       <param name="To" value="my_email@someserver.com" />
>       <param name="Subject" value="Agent on [${HOSTNAME}] has
> encountered error" />
>       <layout class="org.apache.log4j.PatternLayout">
>             <param name="ConversionPattern"
> value="%d{HH:mm:ss} [%t] %p %C
> (%L) %x - %m%n" />
>       </layout>
>       <filter class="org.apache.log4j.varia.LevelRangeFilter">
>             <param name="LevelMin" value="error" />
>             <param name="LevelMax" value="fatal" />
>       </filter>
> </appender>
>
> and since system property has to be setup before configuring
> log4j, I use this in my code.
>
> Main class
> //create system property to hold server name
> System.setProperty("HOSTNAME", InetAddress.getLocalHost
> ().getCanonicalHostName());
>
> //reconfigure log4j so it picks up HOSTNAME property
> DOMConfigurator.configure(getClass().getClassLoader().getResource(
> "log4j.xml"));
>
> Then Im receiving emails with subject like this: "Agent on
> [127.0.0.1] has encountered error".
> So far so good.
> And now I have request to include customer name in subject.
> I have no problem to include it in stack trace, but since I
> cannot set customer name the same way as I did with IP (there
> are multiple customers handled by my app so I cannot just use
> System.setProperty("CUSTOMER", "SOME NAME")).
>
> I though of solution to set this property when exception is
> catched and reconfigure log4j after setting proper customer
> name into system property.
> But I think it is politelly said "ugly".
>
> Can some1 suggest a better way maybe?
>
> Thanks, Zbynek
>
>
>
>
>  Kind Regards / Mit
>
>  freundlichen Grüßen /
>
>  Üdvözlettel / S
>
>  pozdravem:
>
>
>
>
>
>  Zbynek VAVROS
>  (Embedded
>  Development
> image moved
>
>   to file:
>
> pic20342.gif)
>
>
>      Delivery Centre      616 00, Brno
>
>       Central Europe      Technicka 21
>
>         Brno SITE         Czech Republic
>
>
>
>  (Embedded image moved to
>
>    file: pic17964.gif)    Phone: 420-53341- x6283
>
>                           Mobile:
>
>                           E-mail: Zbynek_Vavros@cz.ibm.com
>
>
>
>
>
>
>
>
>
>    IBM Global Services
>
>   Delivery Center Czech
>
>      Republic, s.r.o.
>
>    Registered address:
>
>  Brno, Technicka 2995/21,
>
>  Zip code: 61600, Company
>
>        ID: 26244535
>
>       Entered in the
>
>    Commercial Register
>
>     maintained by the
>
>   Regional Court in Brno
>
>   (Part C, Entry 39922)
>
>
>
>    IBM Global Services
>
>   Delivery Center Czech
>
>      Republic, s.r.o.
>
>   Sídlo: Brno, Technická
>
>   2995/21, PSČ 61600 IČ:
>
>          26244535
>
>    Zapsaná v obchodním
>
>     rejstříku, vedeném
>
>   Krajským soudem v Brně
>
>   oddíl C, vlozka 39922
>
>
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org




Mime
View raw message