Thursday, October 18, 2007

Logging to DB2/400 with Log4J

1. Create a Java class that uses logging 2. Create the log4j.properties file with the required properties 3. Create the table on the target System i (AS400) 4. Start journaling on the table 5. Compile and run
import org.apache.log4j.*;

public class LogMe {
    private static final Logger LOG = Logger.getLogger(LogMe.class); 
  
    public void act() {
        LOG.info("this is whats happening");
    }
 
    public static void main(String[] args) { 
        new LogMe().act();
    }
}
 
log4j.rootLogger=INFO,R,stdout
log4j.appender.R=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.driver=com.ibm.as400.access.AS400JDBCDriver
log4j.appender.R.URL=jdbc:as400://10.5.51.5/mp1heltog/naming=system;prompt=true;
log4j.appender.R.user=mp1heltog
log4j.appender.R.password=Password
log4j.appender.R.sql=INSERT INTO JDBCTEST (Message) VALUES ('%d - %c - %p - %m')
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 
create table mp1heltog/JDBCTEST (Message varchar(512))
 
CRTJRNRCV JRNRCV(MP1HELTOG/JDBCTEST) THRESHOLD(150000) TEXT('log4j test')
CRTJRN JRN(MP1HELTOG/JDBCTEST) JRNRCV(MP1HELTOG/JDBCTEST) DLTRCV(*YES)
STRJRNPF FILE(MP1HELTOG/JDBCTEST) JRN(MP1HELTOG/JDBCTEST) OMTJRNE(*OPNCLO)
 
C:\src\java\log4400>javac -cp .;log4j-1.2.15.jar;jt400.jar LogMe.java
 
C:\src\java\log4400>java -cp .;log4j-1.2.15.jar;jt400.jar LogMe
this is whats happening
 
C:\src\java\log4400>