日志

代码中使用日志工具记录日志

1.添加日志记录操作:

@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{
    private static final Logger log = LoggerFactory.getLogger(BookController.class);
    @GetMapping
    public String getById(){
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        return "springboot is running...2";
    }
}

上述代码中log对象就是用来记录日志的对象,下面的log.debug,log.info这些操作就是写日志的API了。

上述的log对象可以由lombok提供的注解@Slf4j来提供,这样就可以省去创建log对象的代码

@Slf4j
@RestController
@RequestMapping("/books")
public class BookController extends BaseClass{
    @GetMapping
    public String getById(){
        log.debug("debug...");
        log.info("info...");
        log.warn("warn...");
        log.error("error...");
        return "springboot is running...2";
    }
}

2.设置日志输出级别

日志的级别有6中:

  • TRACE:运行堆栈信息,使用率低
  • DEBUG:程序员调试代码使用
  • INFO:记录运维过程数据
  • WARN:记录运维过程报警数据
  • ERROR:记录错误堆栈信息
  • FATAL:灾难信息,合并计入ERROR

一般情况下,开发时候使用DEBUG,上线后使用INFO,运维信息记录使用WARN即可。

3.设置日志组,控制指定包对应的日志输出级别,也可以直接控制指定包对应的日志输出级别

logging:
	# 设置日志组
    group:
    	# 自定义组名,设置当前组中所包含的包
        ebank: com.itheima.controller
    level:
      #	root表示根节点,即整体应用日志级别
    	root: warn
        # 为对应组设置日志级别
        ebank: debug
      	# 对包设置日志级别
        com.itheima.controller: debug

日志输出格式控制

  • PID:进程ID,用于表名当前操作所处的进程,当多服务同时记录日志时,该值可用于协助程序员调试程序
  • 所属类/接口名:当前显示的信息为SpringBoot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除

日志的格式是可以在yml文件中修改的,上述日志的格式的书写如下:

logging:
	pattern:
    	console: "%d %clr(%p) --- [%16t] %clr(%-40.40c){cyan} : %m %n"
  • 由于包含很多特殊字符,因此需要使用双引号包围
  • %d:时间
  • %p:级别
  • %clr():会将括号内的内容上色
  • %16t:%t代表所属线程,在字母和%中间加上数字,表示当前信息占多少格,不足的用空白补齐
  • %-40.40c:%c代表所属类/接口名;第一个40表示占40个,-表示左对齐,第二个40表示超过40的部分删除处理
  • {cyan}:设置前面内容的颜色,cyan为青色,共有6种颜色
  • %m:日志信息

日志文件

日志是需要记录到文件中的,以方便之后维护查阅

日志文件的使用存在各种各样的策略,例如每日记录,分类记录,报警后记录等。

这里主要研究日志文件如何记录。

将日志记录到文件中较为简单,直接设置日志的文件名即可:

logging:
	file:
    name: server.log

但这样虽然能记录日志,但一个文件记录日志,后期查阅会很麻烦,且一个文件记录过多内容也不太好,因此可以限制每个日志的大小,当大小超过限定后就创建新的日志文件:

logging:
	logback:
    	rollingpolicy:
        	max-file-size: 3KB
            file-name-pattern: server.%d{yyyy-MM-dd}.%i.log
  • max-file-size:日志文件的最大储存量
  • file-name-pattern:日志文件的格式
  • %d:日期,可以使用{}来修改格式
  • %i:一个递增变量,表示第几个文件,从0开始
  • 产生的文件名例:server.2020-01-01.0.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值