Tutorials : Enterprise Logging for Distributed J2EE Applications :

Enterprise Logging for Distributed J2EE Applications

by Venkatray Kamath

As more and more enterprise applications are architected using the paradigm of Service Oriented Architecture (SOA), new challenges surface at every stage of an application's evolution. One such challenge is the consistent requirement of application logging. While the very distributed nature of SOA systems complicate trouble-shooting, log files can come to your rescue when trying to understand a system's behavior. This article discusses our experience implementing logging in a Loan Origination System (LOS), built using SOA on the J2EE platform. Along the way, we hope to answer the following questions:

  1. How do you trace requests through Web-tier and business-tier logs in a distributed J2EE deployment model?
  2. In case of an application error, how does the end user report the problem to help desk and subsequently how does the development team correlate the reported error and troubleshoot the issue with the help of application logs.

Prerequisites

This article assumes that you are familiar with the basics of following frameworks:
  • J2EE
  • Log4j
  • AOP and AspectJ

Definitions, Acronyms, and Abbreviations

You'll also need to be familiar with these terms in order to understand this article:

Web Tier

The servlet container in which JSPs and servlets get executed.

Business Tier

This tier deploys the EJB components that provide application services requested by components in the Web tier.

J2EE

Java Version 2 Enterprise Edition as specified by Sun Microsystems

SOA

An architecture pattern, Service Oriented Architecture

SC

Service Component Ex. Loan Manager, Strip Engine

LRID

Log Reference ID, a unique value

MDC

Mapped Diagnostic Contexts

RMI

Remote Method Invocation

AOP

Aspect Oriented Programming

AspectJ

AspectJ is an implementation of aspect-oriented programming for Java

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.