[
https://issues.apache.org/jira/browse/LOG4J2-1192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15538933#comment-15538933
]
Harry Bawls commented on LOG4J2-1192:
-------------------------------------
The fix for this is very simple:
1) Change sendMultipartMessage in SmtpManager.java to also set the subject:
{code}
protected void sendMultipartMessage(final MimeMessage msg, final MimeMultipart
mp, final String subject) throws MessagingException {
synchronized (msg) {
msg.setContent(mp);
msg.setSubject(subject);
msg.setSentDate(new Date());
Transport.send(msg);
}
}
{code}
2) In sendEvents, change the call to sendMultipartMessage to also send the
subject:
{code}
sendMultipartMessage(message, mp, data.subject.toSerializable(appendEvent));
{code}
This is how i have patched this in my current project and it works well.
It would also be nice if the SmtpAppender class was not marked final. It makes
it hard to patch functionality in these classes when they cannot be extended
easily. But that's another issue.
> 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]