日志打印

110 篇文章 0 订阅
95 篇文章 0 订阅

1.首先在POM.XML下引入slf4j-log4j依赖包

2.配置log4j.properties文件

# rootLogger参数分别为:根Logger级别,输出器stdout,输出器log
log4j.rootLogger = info,stdout,log

# 输出信息到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d [%-5p] %l %rms: %m%n

# 输出DEBUG级别以上的日志到D://logs/debug.log
log4j.appender.log = org.apache.log4j.DailyRollingFileAppender
log4j.appender.log.DatePattern = '.'yyyy-MM-dd
log4j.appender.log.File = D://debug.log
log4j.appender.log.Encoding = UTF-8
#log4j.appender.log.Threshold = INFO
log4j.appender.log.layout = org.apache.log4j.PatternLayout
log4j.appender.log.layout.ConversionPattern = %d [%-5p] (%c.%t): %m%n

 3.编写一个测试

package com.zhiyou100.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * 通常输出日志开销非常大,从上述结果可见,
 * SLF4J通过{}作为占位符的方式输出字符串,
 * 相比字符串拼接的方式,效率有显著的提升。
 * @author Administrator
 *
 */
public class LoggerTest {

    private static final Logger logger = 
    		LoggerFactory.getLogger(LoggerTest.class);

    public static void main(String[] args) {
        logger.info("Current Time: {}", System.currentTimeMillis());
        logger.info("Current Time: " + System.currentTimeMillis());
        logger.info("Current Time: {}", System.currentTimeMillis());
        logger.trace("trace log");
        logger.warn("warn log");
        logger.debug("debug log");
        logger.info("info log");
        logger.error("error log");
    }
}

4.当我们用框架时候往往需要用到日志打印,我们总不可能一直使用3里面的方法吧,这时候我们就需要换一种思维了,有没有简单的方法呢,肯定有的

public class LoggerController implements Serializable{
	
	protected Logger logger = Logger.getLogger(this.getClass());
	private static final long serialVersionUID = 6357869213649815390L;
	/**
	 * 得到分页列表的信息 
	 */
	public static void logBefore(Logger logger, String interfaceName){
		logger.info("");
		logger.info("start");
		logger.info(interfaceName);
	}
	public static void logAfter(Logger logger){
		logger.info("end");
		logger.info("");
	}
}

这里只需要在你想打印日志的类下面,使得这个类继承LoggerController.java,就可以了。在必要的地方添加logBefore方法,在结束的地方调用logAfter方法即可,实现日志信息的连贯性。另外我们日志打印往往在于用户登录,注册,修改,删除的地方进行的,一般用于持久层打印日志信息,当荡机的时候,方便查看是不是数据与数据库进行操作的时候发生的错误或异常,方便事后的排错。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值