package com.fourinone;
import java.util.logging.*;
import java.util.*;
public class LogUtil
{
private static Logger logger;
private static boolean fineFlag = false;
private static boolean infoFlag = false;
static
{
String levelName = ConfigContext.getLogLevel("FINE");
fineFlag = Boolean.valueOf(ConfigContext.getConfig("LOG","FINE",null,"false"));
infoFlag = Boolean.valueOf(ConfigContext.getConfig("LOG","INFO",null,"false"));
//System.out.println(levelName+",fineFlag:"+fineFlag+",infoFlag:"+infoFlag);
logger = Logger.getLogger("com.log");
Level lv = Level.parse(levelName);
logger.setLevel(lv);
logger.setUseParentHandlers(false);
Handler handler = new ConsoleHandler();
handler.setLevel(lv);
logger.addHandler(handler);
}
public static void info(Object obj)
{
info(obj.toString());
}
public static void info(String logStr)
{
if(infoFlag)
logger.log(Level.INFO, logStr);
}
public static void info(String logStr, Throwable e)
{
if(infoFlag)
logger.log(Level.INFO, logStr, e);
//StackTraceElement stack[] = e.getStackTrace();
//logger.logp(Level.INFO, stack[0].getClassName(), stack[0].getMethodName(), logStr, e);
}
public static void info(String className, String methodName, Object logStr)
{
if(infoFlag)
logger.logp(Level.INFO, className, methodName, getLogStr(logStr));
}
public static void info(String className, String methodName, Throwable e)
{
if(infoFlag)
logger.logp(Level.INFO, className, methodName, "", e);
}
public static void info(String className, String methodName, Object logStr, Throwable e)
{
if(infoFlag)
logger.logp(Level.INFO, className, methodName, getLogStr(logStr), e);
}
public static void fine(Object obj)
{
fine(obj.toString());
}
public static void fine(String logStr)
{
if(fineFlag)
logger.log(Level.FINE, logStr);
}
public static void fine(String logStr, Throwable e)
{
if(fineFlag)
logger.log(Level.FINE, logStr, e);
}
public static void fine(String className, String methodName, Object logStr)
{
if(fineFlag)
logger.logp(Level.FINE, className, methodName, getLogStr(logStr));
}
public static void fine(String className, String methodName, Throwable e)
{
if(fineFlag)
logger.logp(Level.FINE, className, methodName, "", e);
}
public static void fine(String className, String methodName, Object logStr, Throwable e)
{
if(fineFlag)
logger.logp(Level.FINE, className, methodName, getLogStr(logStr), e);
}
public static void warn(String className, String methodName, Object logStr)
{
logger.logp(Level.WARNING, className, methodName, getLogStr(logStr));
}
//2014.1.7
public static void fail(String className, String methodName, Object logStr)
{
logger.logp(Level.SEVERE, className, methodName, getLogStr(logStr));
}
public static String getLogStr(Object logStr)
{
return logStr!=null?logStr.toString():null;
}
public static void main(String args[])
{
LogUtil.fine("hhhhhhhhhhh");
LogUtil.info("select * from db");
}
}