日志

级别

@Slf4j
public class LogDemoController{
	public void logLevel(){
		log.error("这个错误很严重,程序阻断了,要记监控,发到报警");
		log.warn("这个错误不应该出来啊,程序可以继续往下走,但是太没面子了");
		log.info("没啥事就想打个日志");
		log.debug("作为一个经常写bug的程序员,开发联调阶段,多打点日志很合理");
		log.trace("从来没用过,他们说为了追踪");
		//正确打印debug
		if(log.isDebugEnabled*()){
			log.debug("别嫌麻烦,不想被开除最好这样做");
		}
		try{
			getOrder();
		}catch(Excetion e){
			log.error("order error",e);
		}
		try{
			getRevenue();
		}catch(Exception e){
			log.warn("revenue error:",e);
		}
	}
}
  • 在一个方法开始打印日志,显示入参,在方法结束时,打印出参,显示结果
String name = "zhansan";
	log.info("我的名字是{}",name);//推荐使用
	log.info("我的名字是"+name);

	//不会提前拼接
	log.debug("hello from{}",name);
	//非debug级别,依然拼接
	log.debug("hello forom"+name);
	//最规范写法
	if(log.isDebugEnabled()){
		log.debug("hello from{}",name);
	}
	//MDC
	MDC.put("traceId",request.getHeader("traceId)"));