My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
Home  

Featured
Updated Mar 11, 2010 by alexis.kinsella

Logging4ME Project

Introduction

Logging4ME is a logging framework for J2ME platform.

Main features:

  • Easy programmatic configuration
  • Hierarchical loggers based on categories (Java packages, keywords, ...).
  • Additivity configuration.
  • Threshold logging level configurable on appender
  • Extensible and customizable appenders, layouts: Interface based.
  • Lightweight and optimized for any J2ME or Android application
  • Provided appenders: ConsoleAppender and J2ME FileAppender
  • Provided layouts: SimpleLayout, PatternLayout, ...

Getting started

public class BasicService {
	
	private static final Logger logger = LoggerFactory.getLogger("BASIC_SERVICE");
	
	private BasicService() {
		super();
	}

	public void doSomething() {
		if (logger.isDebugEnabled()) {
			logger.debug("Some debug information to log");
		}
	}

}

Configuration using Java

	LoggerManager.setThresholdLevel(Logger.DEBUG);
	
	ConsoleAppender consoleAppender = new ConsoleAppender();
	consoleAppender.setLayout(new PatternLayout("| %T | %L | %C | %D{yyyy/MM/dd, HH:mm:ss.ZZ} | "));
	consoleAppender.setThresholdLevel(Logger.DEBUG);
	
	LoggerManager.registerAppender(consoleAppender);
	
	LoggerManager.getRootCategory().addAppender(consoleAppender);
	
	LoggerManager.addCategory("org.helyx.app.j2me.lib", Logger.INFO);
	LoggerManager.addCategory("org.helyx.app.j2me.myapp", Logger.DEBUG);

Configuration using Xml

  • Xml configuration file:
<?xml version="1.0" encoding="UTF-8" ?>

<logging4me xmlns="http://logging4me.helyx.org/logging4me-1.0.0.xsd" thresholdLevel="DEBUG" debugMode="false">

	<!-- Layouts -->
	<layout name="pl" class="org.helyx.logging4me.layout.pattern.PatternLayout">
		<property name="pattern" value="|%T|%L|%C|%D{yyyy/MM/dd, HH:mm:ss.ZZ}| " />
	</layout>
	
	<!-- Appenders -->
	<appender name="console" class="org.helyx.logging4me.appender.ConsoleAppender">
		<property name="thresholdLevel" value="INFO" />
		<property name="layout" value="pl" />
	</appender>

	<category name="org.helyx.logging4me" level="DEBUG" />
	
</logging4me>
  • Xml configuration java code:
	LoggerConfigurer loggerConfigurer = new XmlConfigurer("/org/helyx/logging4me/test/logging4me.xml", true);
	loggerConfigurer.configure();

Maven integration

Adding Helyx.org repositories

<repositories>
	<repository>
		<id>Helyx.org - Release repository</id>
		<url>http://maven.helyx.org/repository/release</url>
	</repository>

	<!-- Uncomment following lines, if you want to use snapshot repository -->
	<!-- 
	<repository>
		<id>Helyx.org - Snapshot repository</id>
		<url>http://maven.helyx.org/repository/releases</url>
	</repository>
	-->
</repositories>

Adding Logging4ME dependency

<dependency>
	<groupId>org.helyx</groupId>
	<artifactId>logging4me</artifactId>
	<version>1.0.0</version>
</dependency>

Sign in to add a comment
Powered by Google Project Hosting