[ 
https://issues.apache.org/jira/browse/LOG4J2-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15537905#comment-15537905
 ] 

Harry Bawls commented on LOG4J2-1192:
-------------------------------------

The implementation of this feature does not work. (or at least not work as 
expected).

While the email subject can now be set to a pattern, the pattern is evaluated 
only once. All subsequent email messages will then contain the same subject as 
the first email message created.

As an example try creating an smtp appender with a configuration like:
{code:xml}
<SMTP 
            subject="An error happened at %d{DEFAULT}"
            ...
</SMTP>
{code}
which should print the current time on the subject line. Then trigger 2 or 3 
emails. The time will always be the same.

This is because the subject is set only once in createMimeMessage in 
SmtpManager. Instead it needs to be re-evaluated and re-set for every event 
much like the message body. I believe that was the expectation of the original 
request.

> Dynamic Subject for SMTP Appender
> ---------------------------------
>
>                 Key: LOG4J2-1192
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-1192
>             Project: Log4j 2
>          Issue Type: New Feature
>          Components: Appenders
>    Affects Versions: 2.4.1
>         Environment: ALL
>            Reporter: Jörg Bretschneider
>            Assignee: Gary Gregory
>              Labels: features
>             Fix For: 2.6
>
>         Attachments: ExtendedSmtpAppender.java, ExtendedSmtpManager.java, 
> MaxLengthConverter.java
>
>
> It is annoying to have log messages sent to users via SMTP Appender with a 
> static subject, requiring recipients to open each of possibly a vast amount 
> of log emails in order to find out what went wrong.
> Users should be able to insert runtime diagnostic context information to the 
> message text AND to the message subject as well. 
> While the first seems to be working with Patternlayout using the mechanism 
> with the %X{<key>} pattern based on a NDC or MDC <key> in the 
> "ConversionPattern" parameter, it does NOT work with the "Subject" parameter 
> with log4j (neither 1.2 nor 2.x), though some bloggers suggest it, e.g. 
> http://stackoverflow.com/a/7015453. 
> See 
> http://stackoverflow.com/questions/29435825/log4j2-custom-email-subject-from-map
>  as an example where others found this also.
> This issue should have been fixed long ago.
> I suggest to extend SMTP appender in order to be able to use %X and other 
> Pattern conversion in the "Subject" parameter properly. 
> http://openutils.sourceforge.net/openutils-log4j/smtpappender.html 
> has already done the part for applying PatternLayout to the SMTP Appender 
> "Subject". I didn't test if this works properly. 
> Maybe this work can be included into log4j with minimal effort?
> This feature has originally been realized in LOGBACK using an MDC in 
> Patternlayouts: http://logback.qos.ch/manual/mdc.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to