8 de mar. de 2009

JME - Implementação API MicroLog para devices

Iniciei a implementação da API de log para devices MicroLog em um projeto. Vou colocar aqui como foi a experiência e minhas considerações até o momento.

Para desenvolvimento JME estou utilizando o Eclipse Europa 3.3.2 com plugin EclipseME www.eclipseme.org e portanto vou focar nesta configuração:

1) Baixei o pacote do MicroLog no link: https://sourceforge.net/project/showfiles.php?group_id=138008&package_id=277155&release_id=664332 a versão .zip para utilizar no windows.

2) Criei uma entrada no projeto no eclipse : botão direito > properties > java build path uma librarie com o jar do microlog. (imagem)  microlog-logger-1.1.1-me.jar.

Feito isto as APIs da MicroLogger que eu queria utilizar já estavam disponíveis no meu projeto JME no eclipse. 

3) Criei um arquivo chamado microlog.properties mínimo conforme documentação para configurar o logger que vou utilizar. Coloquei este arquivo na pasta "res" do meu projeto JME no eclipse. Neste arquivo somente as entradas de configuração mínima: 

microlog.level=DEBUG
microlog.appender=net.sf.microlog.appender.ConsoleAppender
# End of file. Do not remove this line.

4) Alterei o código do midlet adicionando 2 variáveis estáticas:
private static final Logger log = Logger.getLogger(LoginMidlet.class);
private static boolean firstTime = true;

E no método startApp do midlet: 

// Configura para carregar propriedades da api MicroLog só uma vez
if (firstTime) {
  Properties properties = new Properties(this);
  log.configure(properties);
  log.info("startApp() primeira vez");
  firstTime = false;
  } 
else {
  log.info("startApp() novamente");
  }

Isso foi o necessário para configurar um log básico, nos métodos eu pude então utilzar chamadas normais no log. 

log.debug("texto do debug aqui!!!");

5) Nas classes utilizadas no midlet bastou então definir a variável estática, por exemplo: 
//api de log
private static final Logger log = Logger.getLogger(LoginDBME.class);

E pronto, pude utilizar as chamadas de log padrão na classe. Bem simples e a utilização é bem parecida com o Log4j inclusive as saídas no console do WLTK. 

O mais interessante é que esta API dá opções de envio via sms, http, smtp, vale a pena dar uma olhadinha na documentação e nos exemplos.
 Segue o link mais uma vez: http://microlog.sourceforge.net/site/

[]s

2 comentários:

Namor disse...

Olá, onde ele salva este log? por exemplo posso mudar para /log.txt?

Obrigado.

Namor Alves

Marcos Maia disse...

O diretório default vai depender do device!

Para mudar vc tem que configurar um FileAppender no arquivo de configuração .properties do Microlog.

Se for no Android tem um bom post sobre isso nesta url:

http://myossdevblog.blogspot.com.br/2009/03/using-microlog-for-file-logging-on.html


[]s