Howdy,
Don't use the same name for a logger as you do for an appender: log4j is
fine with it but it's confusing to humans.

In the code I sent you I assumed your SMTP appender is attached to the
root logger.  In the configuration below, it's not, so the SMTPsetup
variable is null.  You can either attach it to the root logger and use
my code, or use
SMTPAppender SMTPsetup = (SMTPAppender)
Logger.getLogger("SMTP").getAppender("SMTP");

Yoav Shapira
Millennium ChemInformatics


>-----Original Message-----
>From: Miller,Catherine [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, November 18, 2003 9:02 AM
>To: 'Log4J Users List'
>Subject: RE: SMTP log4j question
>
>Here is a snippet of my properties file. I actually set up many files
so I
>only included the root and SMTP appender.
>
># This configuration illustrates filtering by logger name.
>log4j.debug=false
>
>log4j.rootLogger=DEBUG, ROOT
>log4j.appender.ROOT=org.apache.log4j.FileAppender
>log4j.appender.ROOT.layout=org.apache.log4j.PatternLayout
>log4j.appender.ROOT.File=D:/data/home/nqt1/logs/rms/test.log
>log4j.appender.ROOT.layout.ConversionPattern=[%t] %-5p %c - %m%n
>
>#configuring the SMTP appender
>log4j.logger.SMTP=DEBUG, SMTP
>log4j.additivity.SMTP=false
>log4j.appender.SMTP.EvaluatorClass=org.oclc.cmnappl.SendMail
>log4j.appender.SMTP=org.apache.log4j.net.SMTPAppender
>log4j.appender.SMTP.SMTPHost=mailhost.oclc.org
>[EMAIL PROTECTED]
>log4j.appender.SMTP.subject=Testing the appender
>[EMAIL PROTECTED]
>log4j.appender.SMTP.layout.LocationInfo=false
>log4j.appender.SMTP.layout=org.oclc.cmnappl.HTMLCustom
>log4j.appender.SMTP.layout.Title=OPOrder Performance Statistics
>
>I tried your sample but got a NullPointerException. Here is what I
coded
>based on my properties file. Please let me know if I just screw up
coding
>it.
>
>        Logger rootLogger = Logger.getRootLogger();
>        SMTPAppender SMTPsetup = (SMTPAppender)
>        rootLogger.getAppender("SMTP");
>        SMTPsetup.setSubject("New subject line");
>        SMTPsetup.setTo("[EMAIL PROTECTED]");
>        SMTPsetup.activateOptions();
>
>Thanks for your help :)
>
>Cat
>
>-----Original Message-----
>From: Shapira, Yoav [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, November 18, 2003 8:50 AM
>To: Log4J Users List
>Subject: RE: SMTP log4j question
>
>
>
>Howdy,
>You need to access the SMTPAppender object and call its methods to
>dynamically change the properties like the subject line.
>
>How are you configuring log4j?  If you know the name of the
>SMTPAppender, e.g. "EmailAppender" this is pretty easy.  In your class,
>you would do something like:
>
>Logger rootLogger = Logger.getRootLogger();
>SMTPAppender email = (SMTPAppender)
>rootLogger.getAppender("EmailAppender");
>email.setSubject("New subject line");
>email.setTo("[EMAIL PROTECTED]");
>email.activateOptions();
>
>If you don't know the name of the appender, or don't want to hard-code
>it, you can still do this.  Use Logger.getAllAppenders() to get all the
>appenders, then iterate through them checking for appender instanceof
>SMTPAppender.
>
>A couple of notes since you mentioned you're new to this:
>
>1. By default the SMTP appender will send out ERROR and higher messages
>only.  If you want it to send INFO or lower, you will need to change
its
>Threshold.  Alternatively, you can write a custom
>TriggeringEventEvaluator for the appender to use.
>
>2. If you have a small number of possible subject lines and to
>addresses, consider creating one SMTP appender for each combination.
>
>Yoav Shapira
>Millennium ChemInformatics
>
>
>>-----Original Message-----
>>From: Miller,Catherine [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, November 18, 2003 7:07 AM
>>To: '[EMAIL PROTECTED]'
>>Subject: SMTP log4j question
>>
>>I'll start by letting everyone one know I am very new to Java (though
>I've
>>been in IT for 10yrs) and log4j so please excuse if this is a stupid
>>question.
>>
>>I have been able to set up a test application using log4j to send
email
>to
>>myself as a test for sending some logging information. The next step I
>need
>>to take is to be able to dynamicly change the to address and the
>subject on
>>the fly based on what information is to be sent. Part of what we email
>are
>>integration error messages and these are sent based on what system
>>encountered an error. Our old setup was to use a MQSeries queue to
hold
>>lists of who got what email type(s). The old system is also written in
>>Object Rexx. Once it was determined who got the message we used Blat
to
>>send
>>a SMTP message from a central mailing application.
>>
>>If anyone can help it would be greatly appriciated.
>>
>>Thanks in advance :)
>>
>>Cat Miller
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>This e-mail, including any attachments, is a confidential business
>communication, and may contain information that is confidential,
>proprietary
>and/or privileged.  This e-mail is intended only for the individual(s)
to
>whom it is addressed, and may not be saved, copied, printed, disclosed
or
>used by anyone else.  If you are not the(an) intended recipient, please
>immediately delete this e-mail from your computer system and notify the
>sender.  Thank you.
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]




This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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

Reply via email to