log4j简单封装

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
package ecp.framework.log;

import java.net.InetAddress;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log {
protected Logger logger;
    //将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用   
    private static Log log;   
    //构造函数,用于初始化Logger配置需要的属性   
    private Log(Logger log4jLogger)   
    {   
        //获得当前目录路径   
        //String filePath=this.getClass().getResource("/").getPath();   
        //找到log4j.properties配置文件所在的目录(已经创建好)   
        //filePath=filePath.substring(1).replace("bin", "src");   
        //获得日志类logger的实例   
        //loger=Logger.getLogger(this.getClass());
    logger = log4jLogger;
        
        //logger所需的配置文件路径    D:\\publish2\\log4j.properties
        PropertyConfigurator.configureAndWatch("/u01/logs/log4j.properties");
    }   
    /**
     * 获取构造器,根据类初始化Logger对象
     * 
     * @param Class Class对象
     * @return Logger对象
     */
    public static Log getLogger(Class classObject) {
     if(log!=null)   
            return log;   
        else  
            return new Log(Logger.getLogger(classObject));
    }

    /*
     * 该事件ID包含当前时间和主机IP,是标示日志时间的唯一符
     * @see com.ccae.monitor.log.ILogInfor#eventID()
     */
     protected String eventID() {
    // 获取当前时间
    //如果不需要格式,可直接用dt,dt就是当前系统时间
    Date dt=new Date();
    //设置显示格式,24小时制
    DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
    String nowTime= df.format(dt);//用DateFormat的format()方法在dt中获取并以yyyy/MM/dd HH:mm:ss格式显示
  
    String nowIP;
    try{
    InetAddress addr = InetAddress.getLocalHost();
    nowIP = addr.getHostAddress(); 
    }
    catch(Exception ex){
    nowIP = "";
    }         
    nowTime=nowTime.replaceAll("/","");
    nowTime=nowTime.replaceAll(" ","");
    nowTime=nowTime.replaceAll(":","");
    nowIP=nowIP.replace(".","");
    String nowID=nowTime+nowIP;
    return nowID;
     }

     public void debug(String KeyWord,String Content) {
     if(logger.isDebugEnabled()){
     String message=" "+KeyWord+" "+Content;
     logger.debug(message);
     }
     }
     public void debug(String Content) {
     if(logger.isDebugEnabled()){
     logger.debug(Content);
     }
    }
     public void fatal(String KeyWord,String Content) {
     String message=" "+KeyWord+" "+Content;
     logger.fatal(message);
     }
     public void fatal(String Content) {
     logger.fatal(Content);
    }
     public void info(String KeyWord,String Content) {
    if(logger.isInfoEnabled()){
    String message=KeyWord+" "+Content;
    logger.info(message);
    }
     }
     public void info(String Content) {
    if(logger.isInfoEnabled())
    logger.info(Content);
     }
     public void warn(String KeyWord,String Content) {
     String message=KeyWord+" "+Content;
     logger.warn(message);
     }
     public void warn(String Content) {
     logger.warn(Content);
    }
     public void error(String KeyWord,String Content) {
     String message1=KeyWord+" "+Content;
     logger.error(message1);
     }
     public void error(String Content) {
     logger.error(Content);
    }
}

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:iOS中加速度传感器的使用

下一篇:操作APN的工具类