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.
The mdthread API is a high-level multithreading API for Java programmers. It makes it easy to write deadlock-safe programs and eliminates the need to use low-level constructs such as synchronized blocks, notify(), and wait(). The API is rooted in the message driven paradigm, a method of communicating between threads via message passing.
metaas provides Java applications with a "Document Object Model" for ActionScript 3 code. Its primary function is generating code, but it allows existing .as source files to be loaded, and simple modifications to be made. The current implementation is still immature, and does not support all AS3 syntax.
A microcall is an XML-dialect used to communicate between a client and a server in a standard and easy-to-use way. The client part is (usually) implemented in Java and consists of a simple POJO that can understand the XML messages returned by the server response to a given call. The server part is only responsible for returning standard and correct messages in response to a given call. The server usually does a lot of work when it receives a call, but from the client standpoint, the server only returns a message explaining the result of the call.
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.