Right Java tools for J2EE, Web Service, Grid and more
|Home | Products | Documents | Downloads | Purchase | Support | Company | Partners | Contact |

The differences between SuperLog and JDK logging


Super Log is a full-featured logging system for J2EE in clustering environment. Logging API is one of the new features in JDK 1.4. Log4J is a cousin of JDK logging. In this article, all comparison apply to Log4J as well.


The design goals

The explicit and implicit goals are different for these two logging tools.

SuperLog is designed as a complete logging system, not just an API. It is for J2EE distributed computing environment. All logging activities are synchronized among all system in the network. With the introduction of LimpidLog, which is for "log for debugging" and AuditLog, which is for "log for auditing", SuperLog is a full logging system. See related paper Loging In The J2EE World: log for debugging and for audit.

JDK logging is designed as an API for single JVM only. Logging activities are not synchronized among different running systems in the network.


The architectures

SuperLog completely separates log request (logging methods) and control (management methods). The request for logging is invoked from the application code while the logging behavior is managed in a separate central program. It sets universal log threshold and registration to check the eligibility for every log request. The management efficiently controls all instances of logging program in clustering environment and keeps them synchronized. 

JDK logging puts every piece in one memory space. At first glance, java.util.logging.LogManager is the global management. But the word "global" here is global among all classes within one JVM. Each application class sets (through its java.util.logging.Logger) its own threshold and eligibility check. There is no central control in clustering. It is difficult to add a central control program. It is even more difficult to prevent any one from changing local attributes and break the synchronization of the whole system, especially when application components are made by different peoples.

SuperLog supports both LimpidLog and AuditLog

SuperLog supports LimpidLog and AuditLog. SuperLog combines both LimpidLog and AuditLog under one roof.

The usage

SuperLog is very easy to use. All preparation and initialization are transparent and done before you log automatically. You just call logging methods. Because it is simple, you have less chance to introduce bugs in your logging logic.

JDK logging is not that simple. You can see it from its examples. JDK logging is much more flexible, but the extra flexibility may not be needed in most cases.


Other features

SuperLog is a complete system. You can dynamically re-configure all its attributes using a GUI tool.  It has built-in facilities for alert, send email and others. Source code level tracing is built in as well. This is the default reader of log message. The purpose of  logging is to read log message when needed.

Related articles

 
©Copyright 1999-2008 Acelet Corporation. All rights reserved.