Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 95489 invoked from network); 29 Oct 2003 00:48:22 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 29 Oct 2003 00:48:22 -0000 Received: (qmail 54037 invoked by uid 500); 29 Oct 2003 00:48:05 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 53770 invoked by uid 500); 29 Oct 2003 00:48:03 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 53755 invoked from network); 29 Oct 2003 00:48:03 -0000 Received: from unknown (HELO unxcoms01.ecnetwork.co.nz) (202.135.116.201) by daedalus.apache.org with SMTP; 29 Oct 2003 00:48:03 -0000 Received: from serpent.ecnetwork.co.nz (serpent [202.135.190.10]) by unxcoms01.ecnetwork.co.nz (8.12.8/8.12.8) with ESMTP id h9T0m9lC017418 for ; Wed, 29 Oct 2003 13:48:09 +1300 Received: from [202.135.190.48] (unknown [202.135.190.48]) by serpent.ecnetwork.co.nz (Postfix) with ESMTP id 6262C1035 for ; Wed, 29 Oct 2003 12:51:00 +1200 (NZST) Subject: Re: [digester] plugins: patch for logging From: Simon Kitching To: Jakarta Commons Developers List In-Reply-To: <403D4F8E-099F-11D8-8F75-003065DC754C@blueyonder.co.uk> References: <403D4F8E-099F-11D8-8F75-003065DC754C@blueyonder.co.uk> Content-Type: text/plain Message-Id: <1067388198.9400.58.camel@PCSIMON.ecnnz.ecnetwork.co.nz> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.4 Date: Wed, 29 Oct 2003 13:43:18 +1300 Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N On Wed, 2003-10-29 at 12:34, robert burrell donkin wrote: > On Monday, October 27, 2003, at 10:17 PM, Simon Kitching wrote: > > > Hi, > > hi simon > > i'm not totally convinced that your patch is the best possible approach > but i think that it's an improvement so i've committed it. it's pretty > much the baseline required for compatibility with the rest of digester. we > need another digester release sometime soonish so maybe this needs > thinking about sooner rather than later. Aha! Good to see that you're thinking about logging too :-) By the "not convinced" comment, do you mean that I am not complying with the current Digester conventions correctly, or do you mean that the current Digester conventions aren't right? Regarding a new release, I think it would be nice to get something out before Christmas. I've seen lots of small fixes go in over the last few months. Is plugins sufficiently accepted to become part of this new release? I haven't heard anyone raise any objections to it, or suggest it should be removed so I hope so. What I would suggest is: (a) I need to submit patches for: (1) Assertion --> RuntimeException (coming today) (2) setting attribute which specifies plugin, eg (3) A change to the way "autoSetProperties" works. I want to have a pluggable "strategy" parameter instead of a boolean, for more flexibility. (b) If no-one has any more issues with plugins, I will port my (ECN's) commercial app over to the new library and run tests. This will be a good test of both the API and the implementation. This should take only a day of actual work, but with my current workload, it will probably take about 1 week elapsed time. Of course I only want to do this if there is a pretty good chance that plugins will stay in Digester.... (c) Do a release, or release candidate. Any logging changes (if something can be agreed on) might go in the mix too. On a related note, I went through the outstanding digester bugs/enhancements in buzgilla a while ago and added some comments. Unfortunately nothing happened. I think that almost all the outstanding entries can be closed, which would be cool to do before the next release. > nothings every finished :) Good point! > i've been thinking about this for a little while and i think that i now > have some ideas about the way i'd prefer logging to work which should > preserve backwards compatibility. (i'd like to put setters and getters for > the logs on each class and then set then from parent to child as they are > created. ) I'm not sure this will work. In order to have a proper hierarchy of categories, the same Log object can't just be passed to the child. I've been thinking about enhancing commons-logging so that a LogFactory object can be placed in thread-local storage, and the static LogFactory method will look there first, and delegate if there is one. For containers which dedicate a thread to a "subsystem", this would work. For containers which use thread pools, the container would need to install the correct LogFactory object before using the thread to do work in a specific contained app. Yes, that's logging-specific work. But so is calling the setLog method on Digester or similar. Well, those are just initial thoughts. I was intending to think it through a bit more before suggesting any ideas, but as you are looking at logging, I had better put it forward now.. > > > As the governor of California would say, "I'll be back".. :-) > > i'll look forward to that. i'd certainly like to encourage you to stay > involved with digester. I'd be happy to. Once the new release is out, I would like to start looking at some of the other apache projects to determine which of them don't use Digester, and why. Maybe we can then roll extra functionality they need into the base Digester. In particular, Ceki Gulcu (log4j) has a sandbox project Joran, which sounds very digester-like. I think it would be great if we could merge the projects. Any comments? BTW, I'm currently learning Ruby, and decided to practice by porting Digester to Ruby. It's coming along very well (and turned out to be an excellent learning experience). Look for "xmldigester" coming to RubyForge soon! Any Rubyish types watching this email list are welcome to join in. I'll post an email here when the code is up, or you can contact me directly. Regards, Simon --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org