You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by Christopher Burkey <cb...@einnovation.com> on 2001/09/14 04:40:13 UTC

Logs, logs and more logs

At our company we have have found a solution to the logging dilemma and 
think FOP should do the same.

At this point there seems to be several ways to log errors within a Java 
application:

1. JDK 1.4's new Logging API's
2. Log4J
3. Log Kit
4. Avalon's Loggable interface
5. Some new JDK compatible API's

The worst part about this situation is that one component might use Log4J 
and another part of the same application may depend on Log Kit. So now your 
logs are spread all over the place within the same application.( Our 
company is writing a Swing application that had this exact problem. )

The solution is:

Logging should be done in the same way JDBC is done. There should be one 
set of interfaces and multiple drivers. Log Kit and Log4J considered the 
equivalent of JDBC drivers such as Oracle, DB2 etc...

We put together Trunk ( http://www.openinstitute.org/trunk/ ) as a 
collection of Interfaces compatible with multiple drivers.

 From the Trunk Docs:

LoggingDriver.getDriver()
	 *   <li>Get the value of the 
<tt>org.openinstitute.trunk.LoggingDriver</tt> system property,
	 *     which must be a class that implements the {@link LoggingDriver} 
interface.

Example Usage: 	

Logger LOGGER = LoggingDriverFactory.getDriver().getLogger( 
SomeApplication.class );
	  LOGGER.info("Hello world!");

Now FOP can use any driver such as Log4J or Log Kit.




________________________________________________
Christopher Burkey		cburkey@einnovation.com	
President		 	513-542-3401
eInnovation Inc. 		http://einnovation.com




---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org


Re: Logs, logs and more logs

Posted by Jeremias Maerki <je...@outline.ch>.
There was a discussion of this topic on the Avalon mailing list. Also,
there was a proposal of a revised Loggable interface. The current
Loggable interface is somewhat hardcoded to LogKit. The proposal would
basically solve the problem like Trunk would, except that this solution
is well integrated with the Avalon way. The problem is
backwards-compatibility, so it may take some time until this comes.
Maybe we should try to push a little.

I think the occasional "Loggable" interface implementations are only the
beginning of Avalon's use in FOP. FOP can profit from Avalon in the
long term by making offering well-proven patterns, better concurrency,
better integration with other projects (Cocoon for example is fully
Avalon-style) etc. 


On Thu, 13 Sep 2001 22:40:13 -0400 Christopher Burkey wrote:
> At our company we have have found a solution to the logging dilemma and 
> think FOP should do the same.
> 
> At this point there seems to be several ways to log errors within a Java 
> application:
> 
> 1. JDK 1.4's new Logging API's
> 2. Log4J
> 3. Log Kit
> 4. Avalon's Loggable interface
> 5. Some new JDK compatible API's
> 
> The worst part about this situation is that one component might use Log4J 
> and another part of the same application may depend on Log Kit. So now your 
> logs are spread all over the place within the same application.( Our 
> company is writing a Swing application that had this exact problem. )
> 
> The solution is:
> 
> Logging should be done in the same way JDBC is done. There should be one 
> set of interfaces and multiple drivers. Log Kit and Log4J considered the 
> equivalent of JDBC drivers such as Oracle, DB2 etc...
> 
> We put together Trunk ( http://www.openinstitute.org/trunk/ ) as a 
> collection of Interfaces compatible with multiple drivers.
> 
>  From the Trunk Docs:
> 
> LoggingDriver.getDriver()
> 	 *   <li>Get the value of the 
> <tt>org.openinstitute.trunk.LoggingDriver</tt> system property,
> 	 *     which must be a class that implements the {@link LoggingDriver} 
> interface.
> 
> Example Usage: 	
> 
> Logger LOGGER = LoggingDriverFactory.getDriver().getLogger( 
> SomeApplication.class );
> 	  LOGGER.info("Hello world!");
> 
> Now FOP can use any driver such as Log4J or Log Kit.
> 
> 
> 
> 
> ________________________________________________
> Christopher Burkey		cburkey@einnovation.com	
> President		 	513-542-3401
> eInnovation Inc. 		http://einnovation.com
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
> For additional commands, email: fop-dev-help@xml.apache.org

Freundliche Grüsse
OUTLINE AG
Jeremias Märki

mailto:jeremias.maerki@outline.ch

Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029
Internet http://www.outline.ch


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org