[
https://issues.apache.org/jira/browse/LOG4J2-229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gary Gregory updated LOG4J2-229:
--------------------------------
Summary: New JDBC, JPA, and NoSQL database Appenders (was: New JDBC, JPA,
and NoSQL Database Appenders for Log4j2)
> New JDBC, JPA, and NoSQL database Appenders
> -------------------------------------------
>
> Key: LOG4J2-229
> URL: https://issues.apache.org/jira/browse/LOG4J2-229
> Project: Log4j 2
> Issue Type: New Feature
> Components: Appenders, Core
> Affects Versions: 2.0-beta5
> Reporter: Nick Williams
> Assignee: Nick Williams
> Attachments: db-appenders-r1479389.patch
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> As discussed on the mailing list ([1] and [2]), Log4j 2 is in need of some
> database appenders. I have added this new feature and will attach a patch
> shortly. The patch contains:
> - A slight change to PatternLayout. Currently it is not possible to create a
> PatternLayout that doesn't always handle exceptions. If you leave all
> exception handling out of the pattern, an exception handler is forcibly added
> to the end of the pattern. This behavior is controlled by a flag, but that
> flag is always hard-coded to false. I added a parameter for it. This was
> necessary for the JDBC appender.
> - o.a.l.l.core.appender.db.AbstractDatabaseManager and
> AbstractDatabaseAppender, together in concert, take care of some core
> functionality common across all database appenders, such as buffering and
> connection state.
> - o.a.l.l.core.appender.db.jdbc.JDBCAppender (and Manager, other classes)
> supports writing events to a relational database using raw JDBC. It's
> injection-safe due to the use of prepared statements. It can be configured
> with URL/username/password, JNDI data source, or a connection factory method.
> - o.a.l.l.core.appender.db.jpa.JPAAppender (and Manager, other classes)
> supports writing events to a relational database using the Java Persistence
> API version 2.0.
> - o.a.l.l.core.appender.db.nosql.NoSQLAppender (and Manager, other classes)
> supports writing to an abstract concept of a NoSQL provider. Providers have
> been created for MongoDB and Apache CouchDB. Creating a new provider is
> extremely easy.
> - Thorough unit tests for the abstract classes, the JDBC and JPA appenders,
> and the abstract parts of the NoSQLAppender. Directly unit testing the
> MongoDB and CouchDB providers in a platform-independent way is not easy and
> may not be possible.
> - Thorough documentation (both JavaDoc and Site documentation) for all of the
> appenders.
> [1] http://markmail.org/thread/z2wpmwelv7p6xh2o
> [2] http://markmail.org/thread/s7pljqdjhjz5xfk5
--
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]