Showing posts with label log4j. Show all posts
Showing posts with label log4j. Show all posts

Tuesday, November 20, 2012

Java Trigger ( Quartz )

Quartz  is a library that can be used to implement scheduler in JAVA application.

This library supports for modify Triggering in many variations.
You have to implement your class implementing Job class as "TestJob.java".

TestJob.java

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class TestJob implements Job {
    @Override
    public void execute(JobExecutionContext jec) throws JobExecutionException {
        System.out.println("Hello Quartz!");
    }
}

This "Schedule.java" will be triggered by 5 seconds.


Schedule.java 

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class Schedule {

    public static void main(String[] args) throws Exception {
        JobDetail job = JobBuilder.newJob(TestJob.class).withIdentity("testJob", "group1").build();

        Trigger trigger = TriggerBuilder
                .newTrigger()
                .withIdentity("dummyTriggerName", "group1")
                .withSchedule(
                SimpleScheduleBuilder.simpleSchedule()
                .withIntervalInSeconds(5).repeatForever())
                .build();

        Scheduler scheduler = new StdSchedulerFactory().getScheduler();
        scheduler.start();
        scheduler.scheduleJob(job, trigger);

    }
}


And you can use Quartz as a cron job.

Cron.java

import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.quartz.impl.StdSchedulerFactory;

public class Cron 
{
    public static void main( String[] args ) throws Exception
    {
    JobDetail job = JobBuilder.newJob(TestJob.class)
.withIdentity("testJobName", "group1").build();

    Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("dummyTriggerName", "group1")
.withSchedule(
CronScheduleBuilder.cronSchedule("0/5 * * * * ?"))
.build();

    Scheduler scheduler = new StdSchedulerFactory().getScheduler();
    scheduler.start();
    scheduler.scheduleJob(job, trigger);

    }
}


Following libraries must be added to the projects.

  • quartz-2.1.6.jar
  • log4j-1.2.16.jar
  • c3p0-0.9.1.1.jar
  • slf4j-log4j12-1.6.1.jar
  • slf4j-api-1.6.1.jar


Monday, April 27, 2009

How to log records to log file? Using log4j

This piece of code will explain the usage of the log4j. In java development, you may have faced for error logging situation. Here is the solution.

Make a log configuration file with follwoing details in your project. Here log configuration file name is "logconfig.txt"

log4j.logger.debugl=INFO,debugl

log4j.appender.debugl.layout=org.apache.log4j.PatternLayout

log4j.appender.debugl=org.apache.log4j.DailyRollingFileAppender

log4j.appender.debugl.File=Log//data_usage_log.txt

log4j.appender.debugl.DatePattern='.'yyyy-MM

log4j.appender.debugl.layout.ConversionPattern=%d{yyyy-MM-dd hh:mm:ss}|%m %n


log4j.appender.debugl.File=c:/data_usage_log.txt

There must be a file called "data_usage_log.txt" in C directory. Then it will upgrade with logs.

Add the following methods to your class constructors.

Logger preLogger

constructor(){    


PropertyConfigurator.configure("logconfig.txt");

preLogger = Logger.getLogger("debugl");

}


you can add your error report as follows
preLogger.info(“Logging ”);