Java log: log filter : Log « Language Basics « Java






Java log: log filter

Java log: log filter
    
/*
Logging In Java with the JDK 1.4 Logging API and Apache log4j
by Samudra Gupta    
Apress Copyright 2003 
ISBN:1590590996

*/
import java.util.logging.*;

public class FilterDemo
{
  private Logger logger = null;
  private AgeFilter filter = null;

  public FilterDemo()
  {
    //obtaining a logger object
    logger = Logger.getLogger("sam.logging");
    //creating a AgeFilter object
    filter = new AgeFilter();
    //attaching the filter to the logger
    logger.setFilter(filter);
  }

  /**
   * This method logs the message
   */
  public void logMessage(Person person)
  {
    //logging the message with Person object as parameter
    logger.log(Level.INFO, "Person has age "+person.getAge(), person);
  }

  public static void main(String args[])
  {
    FilterDemo demo = new FilterDemo();
    //creating Person objects
    Person person1 = new Person("Paul", 32);
    Person person2 = new Person("sam", 29);
    //logging with each Person object
    demo.logMessage(person1);
    demo.logMessage(person2);
  }
}

class Person{
  private String name = null;
  private int age;

  public Person(String name, int age)
  {
   this.name = name;
   this.age = age;
  }

  public void setName(String name)
  {
   this.name = name;
  }

  public String getName()
  {
   return name;
  }

  public void setAge(int age)
  {
   this.age = age;
  }

  public int getAge()
  {
   return age;
  }
}

class AgeFilter implements Filter {
    public AgeFilter() {
    }
    /**
     * This is the overridden method from the Filter interface.
     * It checks the Person object associated with the LogRecord
     * checks the age>30, and returns true
     *@param record the LogRecord object
     *@return boolean true/false
     */
    public boolean isLoggable(LogRecord record) {
        boolean result = false;
        //obtaining the Person object from the record
        Object[] objs = record.getParameters();
        Person person = (Person)objs[0];

        //check if person is not null
        if(person !=null) {
            //obtain the age
            int age = person.getAge();
            if(age>30)
                result = true;
            else
                result = false;
        }
        return result;
    }
}
           
         
    
    
    
  








Related examples in the same category

1.Log levelLog level
2.Simple Log Formatter ExampleSimple Log Formatter Example
3.Log to file with FileHandler and SimpleFomatterLog to file with FileHandler and SimpleFomatter
4.Log multiple HandlersLog multiple Handlers
5.Log multiple Handlers 2Log multiple Handlers 2
6.Override LogRecord toString()Override LogRecord toString()
7.Email LoggerEmail Logger
8.Log To File with FileHandlerLog To File with FileHandler
9.Logging LevelsLogging Levels
10.Creating a Custom Log Level
11.Logging Level ManipulationLogging Level Manipulation
12.Configure LoggingConfigure Logging
13.How to write custom Log handlerHow to write custom Log handler
14.Log Client Filter
15.Log HTML Table Formatter
16.Logging Example 1Logging Example 1
17.Basic Logging Example
18.Java Log:Basic Logging Java Log:Basic Logging
19.Java log: Hierarchy loggingJava log: Hierarchy logging
20.Java log: various log methodsJava log: various log methods
21.Java log: Stream Handler DemoJava log: Stream Handler Demo
22.Java log: File Handler DemoJava log: File Handler Demo
23.Java log: Memory Handler DemoJava log: Memory Handler Demo
24.Java log: Socket Handler Demo
25.Java log: Basic logging 2Java log: Basic logging 2
26.Java log: Logging Server
27.Java log: XML log
28.Java log: alternate XML logJava log: alternate XML log
29.Java log: Localize LoggingJava log: Localize Logging
30.Java log: Custom XML FormatterJava log: Custom XML Formatter
31.Java log: Remote Config Reader
32.Java log: Log and Window(JFrame, frame)Java log: Log and Window(JFrame, frame)
33.File Logger
34.Setting the Formatter of a Logger Handler
35.Memory Handler Demo
36.Socket Handler Demo
37.XMLFormatter based Logging
38.#define the properties for the SocketHandler
39.Custom filter
40.Using Regular Expressions based on StreamHandler
41.The Quintessential Logging Program
42.Determining If a Message Will Be Logged
43.Logging a Method Call
44.Logging an Exception
45.Minimizing the Impact of Logging Code
46.Preventing a Logger from Forwarding Log Records to Its Parent
47.Writing Log Records to a Log File
48.A file handler that appends.
49.Writing Log Records to Standard Error
50.Writing Log Records Only After a Condition Occurs
51.Create a memory handler with a memory of 100 records and dumps the records into the file my.log
52.Setting a Filter on a Logger Handler
53.Comparing Log Levels: To compare the severity of two logging levels, use Level.intValue().
54.Creating a Custom Formatter for a Logger Handler
55.Limiting the Size of a Log File
56.Limiting the Size of a Log by Using a Rotating Sequence of Files
57.Configuring Logger Default Values with a Properties File
58.Determining When the Logging Configuration Properties are Reread
59.Handling Errors While Parsing an XML File
60.An example of a program providing the functionality of logging
61.Use Logger with simple formatter and FileHandler
62.Logger with XMLFormatter and FileHandler
63.Stream Handler
64.The Patterns in FileHandler
65.Flush File Handler and Logger
66.Config Demo
67.config.properties
68.Alternate XML by using FileHandler
69.Localized Logging
70.Define your own Custom Formatter
71.Remote ConfigReader with URLConnection
72.Window Handler: display log message in a window(JFrame)
73.Create log with package nameCreate log with package name
74.Logger Demo
75.Return a message for logging.
76.A simple wrapper around JDK logging facilities
77.A modification of the image viewer program that logs various events
78.A class helper for logging service.
79.Logging Thread Pool
80.Logging Thread