On Sun, Sep 25, 2016 at 3:44 PM, Remko Popma <remko.po...@gmail.com> wrote:

> That sounds like quite a unique use case!
>
> Would it make sense to go through a few iterations at your company until
> you have something that you're really happy with (to use and to support)
> before publishing it in Log4j?
>

Right now I am experimenting and am discussing it here since our existing
ListAppender is like a slightly simpler version of what I need.
ListAppender does contain more test specific method so it could be
refactored to use a new CollectionAppender. I'll elaborate in a reply to a
different message on this thread.

Gary


> Remko
>
> Sent from my iPhone
>
> On 2016/09/25, at 7:13, Gary Gregory <garydgreg...@gmail.com> wrote:
>
> Hi All,
>
> I can't believe it, but through a convoluted use-case, I actually need an
> in-memory list appender, very much like our test-only ListAppender.
>
> The requirement is as follows.
>
> We have a JDBC driver and matching proprietary database that specializes
> in data virtualization of mainframe resources like DB2, VSAM, IMS, and all
> sorts of non-SQL data sources (http://www.rocketsoftware.
> com/products/rocket-data/rocket-data-virtualization)
>
> The high level requirement is to merge the driver log into the server's
> log for full-end to end tractability and debugging.
>
> When the driver is running on the z/OS mainframe, it can be configured
> with a z/OS specific Appender that can talk to the server log module
> directly.
>
> When the driver is running elsewhere, it can talk to the database via a
> Syslog socket Appender. This requires more set up on the server side and
> for the server to do special magic to know how the incoming log events
> match up with server operations. Tricky.
>
> The customer should also be able to configure the driver such that anytime
> the driver communicates to the database, it sends along whatever log events
> have accumulated since the last client-server roundtrip. This allows the
> server to match exactly the connection and operations the client performed
> with the server's own logging.
>
> In order to do that I need to buffer all log events in an Appender and
> when it's time, I need to get the list of events and reset the appender to
> a new empty list so events can keep accumulating.
>
> My proposal is to either turn our ListAppender into such an appender. For
> sanity, the appender could be configured with various sizing policies:
>
> - open: the list grows unbounded
> - closed: the list grows to a given size and _new_ events are dropped on
> the floor beyond that
> - latest: the list grows to a given size and _old_ events are dropped on
> the floor beyond that
>
> Thoughts?
>
> Gary
>
> --
> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
> Java Persistence with Hibernate, Second Edition
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to