Expresso Framework is an open standards-based J2EE architectural framework that allows the developer to concentrate on application logic. It is a library of extensible Java Server application framework components for creating database-driven Web applications based on open standards. Expresso integrates with Apache Jakarta Struts, which emphasizes presentation and application configuration, and bringing a powerful tag library to Expresso. Expresso adds capabilities for security, robust object-relational mapping, background job handling and scheduling, self-tests, logging integration, automated table manipulation, database connection pooling, email connectivity, event notification, error handling, caching, internationalization, XML automation, testing, registration objects, configuration management, workflow, automatic database maintenance, and a JSP tag library.
Log4j is a logging package written in Java. Log4j allows you to log to a file, a java.io.Writer, a remote server, or a syslog daemon. The package is designed so that log statements can remain in shipped code without incurring a high performance cost. One distinctive feature of log4j is the notion of hierarchical loggers. Using hierarchical loggers, it is possible to select (at runtime) which log statements are output at arbitrary granularity. Users can choose to implement their own log formats and output strategies.
log4net is a tool to help the programmer output log statements to a variety of output targets. log4net is a port of the excellent log4j framework to the .NET runtime. log4net runs on the following frameworks: Microsoft .Net Framework 1.0, Microsoft .Net Framework 1.1, Microsoft .Net Compact Framework 1.0, Mono 0.23, Microsoft Shared Source CLI 1.0.
miniLogger is a very small (4 classes and a 10KB jar) and easy to use logger. It uses a logging API that is a subset of JDK 1.4 logging but works on all Java 2 versions. It has been tested on Windows, Solaris, IRIX, and Linux for versions 1.2 and 1.3 of the Sun JDK. It supports logger control from the command line. Logger names are hierarchical separated by dots, and selecting any name automatically selects all names below. If logger_name is an empty string, it will affect all loggers. The loggers and level options are evaluated from left to right. It prints the thread name, source file name, and number line by default, and output can be redirected from System.err to file or any PrintStream. Finally, the logger hierarchy can easily mirror a package/class hierarchy or can be arbitrarily defined by the user.