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

Nick Williams commented on LOG4J2-229:
--------------------------------------

Good question.

The JDBC and NoSQL Appenders are "done." However, there is always room to add 
support for additional NoSQL databases. MongoDB and CouchDB were the ones that 
seemed most obvious to me (MongoDB because it's the most popular NoSQL database 
in the world, CouchDB because it's an Apache project), but there could be 
others that make sense to include core support.

The JPA Appender, in theory, works. However, there's a bug 
(https://hibernate.atlassian.net/browse/HHH-8111) that's blocking the unit 
tests from passing. When that bug is fixed and Hibernate 4.3.0.beta3 is 
released (May 29), I'll should be able to get those tests passing. For now, 
they're @Ignored.

So, in theory, we can probably mark it resolved, unless someone feels the 
status of the JPA Appender is still too uncertain.
                
> 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: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to