logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Remko Popma <remko.po...@gmail.com>
Subject Re: Reloading appender after property value changes
Date Tue, 28 Jun 2016 22:41:23 GMT
I see. With current log4j, you'd need to reload the config then. 

I wouldn't like to implement reloading just one appender (but perhaps others think differently).

Without looking at the code, supporting dynamically evaluation of double $'s in SmtpAppender
seems like a good approach. Can you raise a Jira feature request for that?

Sent from my iPhone

> On 2016/06/29, at 1:33, Benjamin Jaton <benjamin.jaton@gmail.com> wrote:
> 
> Ah I forgot about this trick.
> 
> It doesn't seem to be supported by the SMTPAppender:
> 
> ---------------------------------------------------------------------------
> 2016-06-28 09:30:06,562 main ERROR SmtpManager
> SMTP:5bea43473970a15b1a4dbd9dcce1c4f6 caught exception while sending e-mail
> notification.: javax.mail.SendFailedException: Invalid Addresses;
>  nested exception is:
>    com.sun.mail.smtp.SMTPAddressFailedException: 553-5.1.2 The recipient
> address <${email.recipient}> is not a valid
> 553 5.1.2 RFC-5321 address. t128sm520507pfb.14 - gsmtp
> javax.mail.SendFailedException: Invalid Addresses;
>  nested exception is:
>    com.sun.mail.smtp.SMTPAddressFailedException: 553-5.1.2 *The recipient
> address <${email.recipient}> is not a valid*
> 553 5.1.2 RFC-5321 address. t128sm520507pfb.14 - gsmtp
> 
>    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1996)
>    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1240)
>    at javax.mail.Transport.send0(Transport.java:255)
>    at javax.mail.Transport.send(Transport.java:124)
>    at
> org.apache.logging.log4j.core.net.SmtpManager.sendMultipartMessage(SmtpManager.java:257)
>    at
> org.apache.logging.log4j.core.net.SmtpManager.sendEvents(SmtpManager.java:172)
>    at
> org.apache.logging.log4j.core.appender.SmtpAppender.append(SmtpAppender.java:177)
>    at
> org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:155)
>    at
> org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:128)
>    at
> org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:119)
>    at
> org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
>    at
> org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:390)
>    at
> org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:375)
>    at
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:359)
>    at
> org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:349)
>    at
> org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:63)
>    at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:146)
>    at
> org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2002)
>    at
> org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1974)
>    at
> org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:738)
>    at Test.main(Test.java:19)
> Caused by: com.sun.mail.smtp.SMTPAddressFailedException: 553-5.1.2 The
> recipient address <${email.recipient}> is not a valid
> 553 5.1.2 RFC-5321 address. t128sm520507pfb.14 - gsmtp
> 
>    at com.sun.mail.smtp.SMTPTransport.rcptTo(SMTPTransport.java:1849)
>    ... 20 more
> ---------------------------------------------------------------------------
> 
> 
> Or when I try it with the port:
> 
> ---------------------------------------------------------------------------
> 2016-06-28 09:29:03,268 main ERROR *Could not parse "${email.smtp.port}" *as
> an integer,  using default value 0: java.lang.NumberFormatException: For
> input string: "${email.smtp.port}"
> ---------------------------------------------------------------------------
> 
> 
> 
> Thanks
> Ben
> 
> 
>> On Mon, Jun 27, 2016 at 3:36 PM, Remko Popma <remko.popma@gmail.com> wrote:
>> 
>> Have you tried configuring with two leading '$' characters?
>> 
>> http://logging.apache.org/log4j/2.x/manual/configuration.html#RuntimeLookup
>> 
>> 
>> Sent from my iPhone
>> 
>>> On 2016/06/28, at 3:17, Benjamin Jaton <benjamin.jaton@gmail.com> wrote:
>>> 
>>> Hello,
>>> 
>>> I have a simple appender like:
>>> 
>>> {
>>>       "type" : "smtp",
>>>       "name" : "EmailAppender",
>>>       "subject" : "${email.subject}",
>>>       "to" : "${email.recipient}",
>>>       "from" : "${email.from}",
>>>       "smtpProtocol" : "${email.smtp.protocol}",
>>>       "smtpHost" : "${email.smtp.host}",
>>>       "smtpPort" : "${email.smtp.port}",
>>>       "smtpUsername" : "${email.smtp.username}",
>>>       "smtpPassword" : "${email.smtp.password}"
>>> }
>>> 
>>> When I have a updated value for one of those property (for example
>>> ${email.subject} has changed, what's the simplest way to reload the
>>> appender so that it takes that new value?
>>> Do we have to force a full reconfiguration?
>>> 
>>> Thanks
>>> Ben
>> 
>> ---------------------------------------------------------------------
>> 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


Mime
View raw message