/**
* 等级:Trace<Debug<Info<Warn<Error<Fatal
* 控制台输出的是Info等级或以上的日志,所以Trace和Debug日志不会输出
*
* -Trace:程序流程记录日志,用于最细致的程序逻辑跟踪,面向开发/测试/实施人员,非常规使用
* 如:循环中记录程序的流程或状态、监测调度框架跟踪记录等
* -Debug:程序调试日志,用于详细跟踪程序的执行逻辑和状态信息,面向开发/测试/实施人员,常规使用(发布版本不能开启Debug及以下级别日志)
* 如:程序流程或逻辑跟踪、数据或状态跟踪、参数传递不合法反馈、监测资源抛出异常等
* -Info:信息类日志,用于直观展示系统运行信息,面向用户/客户/三方人员,常规使用
* 如:系统运行跟踪日志(用户登录/删除数据等重要操作)、重要模块调用、资源使用等
* -Warn:警告日志,用于程序运行抛出异常,但不影响功能使用,面向开发/测试/实施人员,常规使用
* 如:资源访问等不影响功能异常
* -Error:错误日志,用于程序运行出现错误,导致功能中断,面向系统所有人员,常规使用
* 如:资源使用错误、使用API程序无法处理等导致业务无法完成错误
* -Fatal:严重错误日志,用于程序运行出现严重崩溃错误,面向系统所有人员,非常规使用
* 如:资源加载溢出、负荷过载等严重错误
*
* 总结:开发中通常使用的是Debug/Info/Warn/Error
* -Debug(面向技术)
* -Info(面向业务)
* -Warn(有错误,不影响功能)
* -Error(有错误,将影响功能)
*/
package com.xch;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Slf4j
public class SubTest02 {
public static void main(String[] args) {
System.out.println("Sub-Test02模块的main函数入口");
//日志输出测试
String msg = "测试日志信息";
//SpingBoot内置slf4j.Logger类
Logger logger = LoggerFactory.getLogger(SubTest02Application.class);
logger.trace("slf4j.Logger print Trace:{}", msg);
logger.debug("slf4j.Logger print Debug:{}", msg);
logger.info("slf4j.Logger print Info:{}", msg);
logger.warn("slf4j.Logger print Warn:{}", msg);
logger.error("slf4j.Logger print Error:{}", msg);
//@Slf4j注释使用方式
log.trace("@Slf4j print Trace:{}", msg);
log.debug("@Slf4j print Debug:{}", msg);
log.info("@Slf4j print Info:{}", msg);
log.warn("@Slf4j print Warn:{}", msg);
log.error("@Slf4j print Error:{}", msg);
}
}