A utilização de registro de log em aplicações é sempre uma boa prática quando adotada com moderação.

Para aplicações que vão rodar no servidor WebLogic, temos a opção de enviar mensagens para o log do servidor com a API weblogic.logging.NonCatalogLogger. Com NonCatalogLogger você pode enviar mensagens personalizadas de sua aplicação para serem descarregadas no log do servidor.

Para usar os recursos de NonCatalogLogger em uma aplicação, sigas os passos descritos a seguir:

  1. Importe a interface “weblogic.logging.NonCatalogLogger”
  2. Instancie um objeto de “NonCatalogLogger”, exemplo:
    NonCatalogLogger logger = new NonCatalogLogger(java.lang.String minhaAplicacao);
    

    Onde “minhaAplicacao” é o nome fornecido para identificar as mensagens que sua aplicação envia para o log do servidor.

  3. Utilize algum dos métodos oferecidos pela API para registrar o log no nivél de severidade que desejar.

Mensagens de informação:

logger.info(java.lang.String mensagemDeInformacao);
logger.info(java.lang.String mensagemDeInformacao, java.lang.Throwable excessao);

Mensagens de execução suspeita, evento ou configuração que não afeta o funcionamento normal do servidor ou aplicação:

logger.warning(java.lang.String mensagemDeAviso);
logger.warning(java.lang.String mensagemDeAviso, java.lang.Throwable excessao);

Mensagens de erro:

logger.error(java.lang.String mensagemDeErro);
logger.error(java.lang.String mensagemDeErro, java.lang.Throwable excessao);

Mensagens de informações sobre as operações de sua aplicação em mode de depuração/debug:

logger.debug(java.lang.String mensagemDeOperacao);
logger.debug(java.lang.String mensagemDeOperacao, java.lang.Throwable excessao);

Todos os métodos que levam o argumento Throwable imprime o stack trace no log.

O código abaixo registra mensagens de log nos níveis de gravidade/severidade (info, debug, warning e error) para o log do servidor.

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import weblogic.logging.NonCatalogLogger;

/**
 * Classe exemplo de utilização da API <code>weblogic.logging.NonCatalogLogger</code>
 * @author Ednei Parmigiani Júnior
 */
public class MyServlet extends HttpServlet {
	private static final long serialVersionUID = -8830700427897524550L;
	private NonCatalogLogger logger = new NonCatalogLogger(getClass().getName());

	/**
	 * Construtor padrão.
	 */
	public MyServlet() {
		super();
	}

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		process();
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		process();
	}

	private void process() {
		try {
			logger.info("iniciando o processamento...");

			logger.debug("a condicao XyZ foi processada");

			logger.warning("uma atividade suspeita foi executada");
		} catch (Exception e) {
			logger.error("ocorreu um erro", e);
		}
	}

}

A API da suporte para envio de mensagens em vários níveis de severidade, são eles: alert, critical, debug, emergency, error, info, notice, trace, warning.
Uma observação importante a se fazer, é que os níveis de severidade das mensagens de log escritas por sua aplicação somente será descarregada no log do servidor se o nível de severidade do servidor estiver compatível com o nível do log que escreveu.

Para saber como configurar o nível de severidade dos logs no WebLogic Server, acesse o post “Configurar nível de severidade dos logs no WebLogic Server

Para mais informações, consulte a documentação da API NonCatalogLogger.

Por enquanto é isso, até o próximo post.

10 comentários para “Registro de LOG no WebLogic Server

  1. If all writers could write this kind of quality information like you, readers would be more apt to understand more clearly the subject matter. This article is very well done.

    • Hello, thank you for your visit.
      Nowadays there are many blogs, but few with good writing. My main goal is to write quality posts and share knowledge!
      Spread this blog and feel free to make suggestions for future posts.

      Best wishes.

  2. hello good internet site i will definaely come back and see once again.

  3. Content like this should be recognized by literary committees. I think you should win an award for how well you laid this information on the table and kept it really engaging. I love your work.

  4. I must convey my appreciation for your generosity giving support to people that actually need guidance on this concern. Your special dedication to passing the message across came to be unbelievably practical and has all the time helped people like me to get to their desired goals. Your amazing useful publication means a lot to me and far more to my mates. Warm regards; from everyone of us.

    • Hello, thank you for your visit.
      I always think of writing something that will bring benefits to the community, sharing knowledge, this is the goal!. Feel free to make suggestions for new posts, no doubt I’ll do my best to help.
      Best wishes.

  5. Your content is full of respectable information that is usable for today’s readers. I am impressed with your different points and how you present them so clearly. You’re very talented.

  6. I simply want to tell you that I am just newbie to weblog and definitely loved this blog site. Very likely I’m likely to bookmark your blog post . You amazingly have wonderful article content. Appreciate it for sharing with us your blog site.

Deixe um comentário

Campos obrigatórios são marcados *

Post Navigation