Edward Sargisson created LOG4J2-268:
---------------------------------------

             Summary: Berkeley (persistent) agent for FlumeAppender only works 
with MapMessages (and thus not slf4j)
                 Key: LOG4J2-268
                 URL: https://issues.apache.org/jira/browse/LOG4J2-268
             Project: Log4j 2
          Issue Type: Bug
          Components: Flume Appender
            Reporter: Edward Sargisson


If I try and use the persistent FlumeAppender with slf4j then I get a 
NullPointerException in FlumePersistentManager.send because there is no GUID 
header.

(My repro here was using a copy of Flume modified to use log4j2 - while this 
particular repro is exotic I'm confident that the general case detailed above 
will be very common).

There is no GUID header because the FlumeEvent constructor only creates one if 
the message is a MapMessage.

If the user is using slf4j then all messages are PersistentMessages - and thus 
will cause this logging to fail.

The GUID is required because it's used as a key in the BerkeleyDB storage.

My attempts at a simple fix ran afoul of the key lookup from the headers in 
FlumePersisentManager.WriterThread.run(). 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

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

Reply via email to