mate of your wit
The most performed Mobile/Embedded
java Logic/Rule Engine

     Get Start




log4j2me is log4j for j2me platform. It is an open source contribution from Witmate.

It is compatible with Log4J and executable on J2ME platform. When your code move to J2SE/J2EE platform, you need NOT change your code, just replace log4j2me.jar with standard log4j jar file.


Contact us about log4j2me by log4j2me@witmate.com


Differentiations with original log4j

Limits by j2me platform:

  1. j2me can't write to file. So can't set file name directly in FileAppender
  2. j2me can't read file. So can't read configuration from file directly in PropertyConfigurator. But it is possible to get configuration from JAD file.
  3. j2me only can print stack track into standard error output. So can't get stack in LoggingEvent, LocationInfo
  4. J2ME has not java.text package, so %d parameter just use log4j date formatters.
  5. LEVEL_CONVERTER does not work in PatternParser
  6. MESSAGE_CONVERTER(RenderMessage) does not work in PatternParser
  7. Fully qualified name of the calling category class (fqnOfCategoryClass) is same as category name in LoggingEvent.
  8. These parameters of pattern do not work: %X, %F, %M, %L, %l, and log out a question mark.

Extensions for j2me platform

  1. Configure by JAD file
  2. j2me can't get property list, so a "log4j.categories" property key to list all category names is added into configuration properties. Separator is comma, e.g., log4j.categories: classA,classB
  3. line.separator system property does not exist in J2ME default, LINE_SEP of log4j2me is LF(13) in Layout. It is configurable with LINE_SEP and LINE_SEP_LEN parameetr in Layout
  4. MIDLet form appender: Output log to a MIDLet form.
    • New form appender is log4j2me.util.FormAppender.
    • Optional handler of this appender is Title, this title is MIDLet form title.
    • Configure example

                log4j.appender.LOGFORM = log4j2me.util.FormAppender         
                log4j.appender.LOGFORM.Title = mylog4j2me


Test cases in source code

  • log4j2me.test.Hello.java is a java application test case of configuring log4j2me by code.
  • log4j2me.test.midlets.MHello.java is a midlet test case for j2me platform and configuring log4j2me by example JAD file.


    log4j2me.jar  or Witmate with log4j2me

    Source Code of log4j2me

    JDA example file for MHello test case

Localized Properties

    tapestry_prop_util.jar is a package which only includes the classes for localized properties from Apache Tapestry project. 

    tapestry_prop_util.zip is the source code.

Copyright 1998-2009, Witsign. All rights reserved.