You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-user@logging.apache.org by Zbynek Vavros <Zb...@cz.ibm.com> on 2011/05/23 16:18:20 UTC
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
Re: using of system properties in subject of SMTPAppender
Posted by Jacob Kjome <ho...@visi.com>.
You might be interested in the "it.openutils.log4j.AlternateSMTPAppender"
[1]. It allows for dynamic subjects and more. Note that I am not affiliated
with this project. I just found it to be useful.
[1] http://www.openmindlab.com/lab/tools/openutilslog4j/smtp.html
Jake
On Mon, 23 May 2011 16:18:20 +0200
Zbynek Vavros <Zb...@cz.ibm.com> wrote:
>
>
> 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
RE: [SCL-3] using of system properties in subject of SMTPAppender
Posted by Zbynek Vavros <Zb...@cz.ibm.com>.
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 <hb...@ergonomics.ch> |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|"'Log4J Users List'" <lo...@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
RE: [SCL-3] using of system properties in subject of SMTPAppender
Posted by Zbynek Vavros <Zb...@cz.ibm.com>.
Hi Heri,
thanks a lot for this advice but if I am correct I can use %X{CUSTOMER}
only in PatternLayout.
Then I need to create my own implementation of SMTPAppender and this is
what i wanted to avoid.
Any chance it can be done without custome implementation?
Thx
Kind Regards / Mit
freundlichen Gr��en /
�dv�zlettel / S
pozdravem:
Zbynek VAVROS (Embedded
Development image moved
to file:
pic16556.gif)
Delivery Centre 616 00, Brno
Central Europe Technicka 21
Brno SITE Czech Republic
(Embedded image moved to
file: pic29569.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 <hb...@ergonomics.ch> |
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|------------>
| To: |
|------------>
>--------------------------------------------------------------------------------------------------------------------------------------------------|
|"'Log4J Users List'" <lo...@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
RE: [SCL-3] using of system properties in subject of SMTPAppender
Posted by Bender Heri <hb...@ergonomics.ch>.
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
Re: using of system properties in subject of SMTPAppender
Posted by Curt Arnold <ca...@apache.org>.
If it can be in the body of the email, then there are many ways that you could customize the rendering of the message. Since it appears to be a very low frequency occurrence, you could do something like:
if(logger.isErrorEnabled())
{
string msg = "Client " + clienName + " encountered unexpected exception";.
logger.error(msg, e);
}
If you really want it in the subject, you will likely need to extend SMTPAppender. You could create an object that represents the combination of the server context and the message (or just the context if you don't need the message parameter)
logger.error(context, e);
or
if(logger.isErrorEnabled())
{
logger.error(new MyCustomObject(context, msg), e);
}
The toString method of the first parameter will be used for the message. Your customized SMTPAppender can recognize the message parameter object and extract whatever information you need for the subject line.
On May 23, 2011, at 9:18 AM, Zbynek Vavros wrote:
>
>
> 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
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-user-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-user-help@logging.apache.org