This project is a modern C++ library with a focus on portability and program correctness. It strives to be easy to use right and hard to use wrong. Thus, it comes with extensive documentation and
... [More] thorough debugging modes. The library provides a platform abstraction layer for common tasks such as interfacing with network services, handling threads, or creating graphical user interfaces. Additionally, the library implements many useful algorithms such as data compression routines, linked lists, binary search trees, linear algebra and matrix utilities, machine learning algorithms, XML and text parsing, and many other general utilities. [Less]
EvaProperties is a properties and dependency injection framework. It supports property inheritance, knows Ant or Maven style references and it instantiates and wires Java objects. You can read
... [More] properties from the classpath, any input stream or a file and save them again. [Less]
libanculus-sharp is a reusable utility library written in C#.
"Anculus" means servant in Latin, and that is exactly what the library does. It serves and helps you to easily and quickly write new
... [More] applications. libanculus-sharp contains all the building blocks that you need to develop a good C# application. [Less]
ProjectLog tiene como objetivo el entregar un conjunto de herramientas para llegar el registro diario de los avatares de un proyecto, manteniendo la visión en el corto y mediano plazo y llevando el control de los riesgos.
OverviewMinLog is a Java logging library. Key features:
Low overhead Logging statements below a given level can be automatically removed by javac at compile time. Simple and efficient The API is
... [More] concise and very efficient at runtime. Extremely lightweight The entire project consists of one Java file with just over 100 non-comment lines of code. The JAR is 2.6kb (2kb with pack200). UsageMessages are logged using static methods:
Log.info("Some message.");
Log.debug("Error reading file: " + file, ex);A static import can be used to make the logging more concise:
import static com.esotericsoftware.minlog.Log.*;
// ...
info("Some message.");
debug("Error reading file: " + file, ex);While optional, for brevity the rest of this documentation assumes this static import is in place.
If log statements from different libraries or areas of an application need to be differentiated, a category can be specified:
info("some lib", "Some message.");
debug("some lib", "Error reading file: " + file, ex);Log levelSetting the level will log that level, as well as all higher levels:
Log.set(LEVEL_INFO);The levels are:
LEVEL_NONE disables all logging. LEVEL_ERROR is for critical errors. The application may no longer work correctly. LEVEL_WARN is for important warnings. The application will continue to work correctly. LEVEL_INFO is for informative messages. Typically used for deployment. LEVEL_DEBUG is for debug messages. This level is useful during development. LEVEL_TRACE is for trace messages. A lot of information is logged, so this level is usually only needed when debugging a problem. Conditional loggingThe current log level can be checked before the message is logged:
if (ERROR) error("Error reading file: " + file, ex);
if (TRACE) {
StringBuilder builder = new StringBuilder();
// Do work, append to the builder.
trace(builder);
}Checking the log level before calling the logging method is optional, but prevents unnecessary method calls and string concatenation for log levels that are disabled.
Fixed logging levelsMinLog users can choose from the regular "minlog.jar" or from from a JAR file like "minlog-info.jar" which has a fixed logging level that cannot be changed at runtime (calls to Log.set() have no affect). During compilation, any conditional logging statements below the fixed level will be automatically optimized away by the Java compiler.
Please see OverheadAndComparisons for more about the overhead when using MinLog with/without conditional logging and with/without a fixed logging level. The document also compares the MinLog overhead with log4j and java.util.logging.
Output customizationThe default logger outputs messages in this format:
time level: [category] messageWhere "time" is the time elapsed since the application started. For example:
00:00 TRACE: [kryo] Wrote string: moo
00:00 TRACE: [kryo] Wrote object: NonNullTestClass
00:01 TRACE: [kryo] Wrote string: this is some data
00:01 TRACE: [kryo] Compressed to 7.97% using: DeflateCompressor
00:12 TRACE: [kryo] Decompressed using: DeflateCompressor
00:12 TRACE: [kryo] Read string: this is some dataThe output can be customized:
static public class MyLogger extends Logger {
public void log (int level, String category, String message, Throwable ex) {
StringBuilder builder = new StringBuilder(256);
builder.append(new Date());
builder.append(' ');
builder.append(level);
builder.append('[');
builder.append(category);
builder.append("] ");
builder.append(message);
if (ex != null) {
StringWriter writer = new StringWriter(256);
ex.printStackTrace(new PrintWriter(writer));
builder.append('\n');
builder.append(writer.toString().trim());
}
System.out.println(builder);
}
}
// ...
Log.set(new MyLogger());Using this mechanism, log messages can be filtered (eg, by category), written to a file, etc. [Less]
A C library with support for logging, configuration, networking, message specification, semaphores, message queues, SSL, timing, epoll and email functionality.
Log5F this is Logging Framework for Flash/Flex/AIR based application. It writen on ActionScript 3.0, during writing the code was analysed Log4J Logging Framework for Java.
See http://log5f.wordpress.com
A smart framework and extensions to create powerfull applications using .NET 2.0 or later (3.0, 3.5, 4.0 etc.) and C#. MS SQL 2000, 2005 and 2008 and soon MySql 5+ can be used as database but it's not required for small apps.