java long4j基本操作

本文介绍如何在Java项目中使用Log4j进行日志记录。通过单例模式封装Log4j,实现便捷的日志记录功能。示例代码展示了异常处理及错误日志的记录过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 日志 log操作的基本配置+代码

package com.janeky.log;   
import org.apache.log4j.Logger;   
import org.apache.log4j.PropertyConfigurator;   
  
/**  
 * @author janeky  
 * Log演示程序  
 */  
public class Log {   
    //Logger实例   
    private Logger loger;   
    //将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用   
    private static Log log;   
    //构造函数,用于初始化Logger配置需要的属性   
    private Log()   
    {   
        //获得当前目录路径   
        String filePath=this.getClass().getResource("/").getPath();   
        //找到log4j.properties配置文件所在的目录(已经创建好)   
        filePath=filePath.substring(1).replace("bin", "src");   
        //获得日志类loger的实例   
        loger=Logger.getLogger(this.getClass());   
        //loger所需的配置文件路径   
        PropertyConfigurator.configure(filePath+"log4j.properties");   
    }   
       
    static Log getLoger()   
    {   
        if(log!=null)   
            return log;   
        else  
            return new Log();   
    }   
       
    //测试函数   
    public static void main(String args[])   
    {   
        Log log=Log.getLoger();   
        try  
        {   
            //引发异常   
            int a=2/0;   
        }catch(Exception e)   
        {   
            //控制台打印异常信息   
            e.printStackTrace();   
            //写入到日子文件   
            log.loger.error("error", e);   
               
        }   
    }   
  
}  
package com.janeky.log;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

/**
 * @author janeky
 * Log演示程序
 */
public class Log {
 //Logger实例
 private Logger loger;
 //将Log类封装成单实例的模式,独立于其他类。以后要用到日志的地方只要获得Log的实例就可以方便使用
 private static Log log;
 //构造函数,用于初始化Logger配置需要的属性
 private Log()
 {
  //获得当前目录路径
  String filePath=this.getClass().getResource("/").getPath();
  //找到log4j.properties配置文件所在的目录(已经创建好)
  filePath=filePath.substring(1).replace("bin", "src");
  //获得日志类loger的实例
  loger=Logger.getLogger(this.getClass());
  //loger所需的配置文件路径
  PropertyConfigurator.configure(filePath+"log4j.properties");
 }
 
 static Log getLoger()
 {
  if(log!=null)
   return log;
  else
   return new Log();
 }
 
 //测试函数
 public static void main(String args[])
 {
  Log log=Log.getLoger();
  try
  {
   //引发异常
   int a=2/0;
  }catch(Exception e)
  {
   //控制台打印异常信息
   e.printStackTrace();
   //写入到日子文件
   log.loger.error("error", e);
   
  }
 }

}

#定义DEBUG优先级,R为日志输出目的的
log4j.rootLogger=DEBUG, R
#设置日志输出类型,为文件类型
log4j.appender.R=org.apache.log4j.FileAppender
#设置日志文件名my.log
log4j.appender.R.file=my.log
#每次在文件尾写入新的日志信息
log4j.appender.R.Append=true
#日志输出信息格式类型
log4j.appender.R.layout=org.apache.log4j.PatternLayout
#日志输出信息格式为 换行、换行、日期、优先级、[类名]、日志信息、换行
log4j.appender.R.layout.ConversionPattern=%n%n%d%p[%c]-%m%n

运行吧,出错了,恭喜你成功了,去TestLog目录下寻找my.log日志信息吧


以后再任何需要记录日志的地方只要使用下面语句就行了
Log log= Log.getLogger();
log.logger.error("something u like to record");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值