日志
级别
@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)"));