Java by API/java.util.logging/Logger

Материал из Java эксперт
Перейти к: навигация, поиск

Logger: addHandler(Handler handler)

   <source lang="java">
 

import java.io.IOException; import java.util.logging.ConsoleHandler; import java.util.logging.FileHandler; import java.util.logging.Handler; import java.util.logging.Logger; import java.util.logging.XMLFormatter; public class MainClass {

 public static void main(String args[]) {
   Logger logger = Logger.getLogger("my.log");
   Handler handler = null;
   try {
     handler = new FileHandler("messages.log");
   } catch (IOException e) {
     System.out.println("Could not create file. Using the console handler");
     handler = new ConsoleHandler();
   }
   logger.addHandler(handler);
   handler.setFormatter(new XMLFormatter());
   logger.info("Our first logging message");
   logger.severe("Something terrible happened");
 }

}


 </source>
   
  
 
  



Logger: config(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class Main {

 public static void main(String[] args) {
   Logger log = Logger.getLogger("global");
   log.finest("A");
   log.finer("B");
   log.fine("C");
   log.config("D");
   log.info("E");
   log.warning("O");
   log.severe("A");
 }

}


 </source>
   
  
 
  



Logger: exiting(String sourceClass, String sourceMethod, Object result)

   <source lang="java">
 

import java.util.logging.Level; import java.util.logging.Logger; //package com.mycompany; class MyClass {

 public boolean myMethod(int p1, Object p2) {
   Logger logger = Logger.getLogger("com.mycompany.MyClass");
   if (logger.isLoggable(Level.FINER)) {
     logger.entering(this.getClass().getName(), "myMethod", new Object[] { new Integer(p1), p2 });
   }
   System.out.println("Method body");
   boolean result = true;
   if (logger.isLoggable(Level.FINER)) {
     logger.exiting(this.getClass().getName(), "myMethod", new Boolean(result));
     logger.exiting(this.getClass().getName(), "myMethod");
   }
   return result;
 }

}


 </source>
   
  
 
  



Logger: finer(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class Main {

 public static void main(String[] args) {
   Logger log = Logger.getLogger("global");
   log.finest("A");
   log.finer("B");
   log.fine("C");
   log.config("D");
   log.info("E");
   log.warning("O");
   log.severe("A");
 }

}


 </source>
   
  
 
  



Logger: fine(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class Main {

 public static void main(String[] args) {
   Logger log = Logger.getLogger("global");
   log.finest("A");
   log.finer("B");
   log.fine("C");
   log.config("D");
   log.info("E");
   log.warning("O");
   log.severe("A");
 }

}


 </source>
   
  
 
  



Logger: finest(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class Main {

 public static void main(String[] args) {
   Logger log = Logger.getLogger("global");
   log.finest("A");
   log.finer("B");
   log.fine("C");
   log.config("D");
   log.info("E");
   log.warning("O");
   log.severe("A");
 }

}


 </source>
   
  
 
  



Logger: getAnonymousLogger()

   <source lang="java">
 

import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; import java.util.logging.StreamHandler; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main {

 public static void main(String args[]) {
   Logger log = Logger.getAnonymousLogger();
   setLoggerhandler(log);
   log.finest(new Exception().toString());
 }
 public static void setLoggerhandler(Logger logger) {
   Handler handler = new ExceptionHandler();
   logger.addHandler(handler);
   logger.setLevel(Level.ALL);
 }

} class ExceptionHandler extends StreamHandler {

 public void publish(LogRecord record) {
   String msg = record.getMessage();
   int exceptionIndex = msg.indexOf("Exception");
   if (exceptionIndex > -1) {
     Pattern pattern = Pattern.rupile("(.*Exception.*)");
     Matcher matcher = pattern.matcher(msg);
     if (matcher != null && matcher.find()) {
       String err = "EXCEPTION FOUND " + matcher.group(1);
       System.out.println(err);
     }
   }
 }

}


 </source>
   
  
 
  



Logger: getLogger(String name)

   <source lang="java">
 

import java.util.logging.Logger; public class MainClass {

 public static void main(String[] args) {
   Logger logger = Logger.getLogger("DeviceLog");
   logger.info("<Device id=\"99\"/>");
 }

}


 </source>
   
  
 
  



Logger: info(String msg)

   <source lang="java">
      

import java.util.logging.Logger; public class Main {

 private static Logger logger = Logger.getLogger("InfoLogging");
 public static void main(String[] args) {
   logger.info("Logging an INFO-level message");
 }

}




 </source>
   
  
 
  



Logger: isLoggable(Level level)

   <source lang="java">
 

import java.util.logging.Level; import java.util.logging.Logger; public class Main {

 public static void main(String[] argv) throws Exception {
   Logger logger = Logger.getLogger("com.mycompany.MyClass");
   // Check if the message will be logged
   if (logger.isLoggable(Level.FINEST)) {
     logger.finest("my finest message");
   }
 }

}


 </source>
   
  
 
  



Logger: logp(Level level, String sourceClass, String sourceMethod, String msg)

   <source lang="java">
 

import java.util.logging.Level; import java.util.logging.Logger; public class Main {

 private static Logger logger = Logger.getLogger("InfoLogging2");
 public static void main(String[] args) {
   logger.logp(Level.INFO, "InfoLogging2", "main", "Logging an INFO-level message");
 }

}


 </source>
   
  
 
  



Logger: setFilter(Filter newFilter)

   <source lang="java">
 

import java.util.logging.Filter; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; public class Main {

 private static Logger logger = Logger.getLogger("SimpleFilter");
 static class A {
 };
 static class B {
 };
 static void sendLogMessages() {
   logger.log(Level.WARNING, "message 1!", new A());
   logger.log(Level.WARNING, "message 2!", new B());
 }
 public static void main(String[] args) {
   sendLogMessages();
   logger.setFilter(new Filter() {
     public boolean isLoggable(LogRecord record) {
       Object[] params = record.getParameters();
       if (params == null)
         return true;
       if (record.getParameters()[0] instanceof A)
         return true;
       return false;
     }
   });
   logger.info("After setting filter..");
   sendLogMessages();
 }

}


 </source>
   
  
 
  



Logger: setUseParentHandlers(boolean useParentHandlers)

   <source lang="java">
 

import java.util.logging.ConsoleHandler; import java.util.logging.FileHandler; import java.util.logging.Logger; public class MainClass {

 private static Logger logger = Logger.getLogger("MultipleHandlers2");
 public static void main(String[] args) throws Exception {
   FileHandler logFile = new FileHandler("MultipleHandlers2.xml");
   logger.addHandler(logFile);
   logger.addHandler(new ConsoleHandler());
   logger.setUseParentHandlers(false);
   logger.warning("Output to multiple handlers");
 }

}


 </source>
   
  
 
  



Logger: severe(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class MainClass {

 public static void main(String[] args) {
   Logger logger = Logger.getLogger("com.jexp.log");
   logger.severe("severe");
   logger.warning("warning");
   logger.info("info");
   logger.config("config");
   logger.fine("fine");
   logger.finer("finer");
   logger.finest("value ="+42);  
 }

}



 </source>
   
  
 
  



Logger: warning(String msg)

   <source lang="java">
 

import java.util.logging.Logger; public class Main {

 public static void main(String[] args) {
   Logger log = Logger.getLogger("global");
   log.finest("A");
   log.finer("B");
   log.fine("C");
   log.config("D");
   log.info("E");
   log.warning("O");
   log.severe("A");
 }

}


 </source>