1. logback-spring.xml
logback %d{HH:mm:ss.SSS} [%thread] %-5level %logger -%msg%n C:\gather-logs\crm-info.log C:\gather-logs\server-info-%d{yyyyMMdd}.log.%i 5MB 2 %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger -%msg%n %date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n ERROR C:\gather-logs\crm-error.log C:\gather-logs\server-error-%d{yyyyMMdd}.log.%i 5MB 2 %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger -%msg%n
(1)
logback
(2)
scan: 当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true
scanPeriod: 设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
2. 设置Logger
(1)logger 设置 level 时,则根据level 过滤日志信息,如果没有设置level ,则继承root的level。
(2)logger 的additivity属性,如果设置为true,则会将日志信息向上传递给root,同时也执行自己的<appender-ref> 这里会出现打印2次的现象。
如下:
package com.example.demo1.controller;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class MyController { private static Logger logger= LoggerFactory.getLogger(MyController.class); @RequestMapping("/getOut") @ResponseBody public String getBody(){ logger.info("-----------info"); logger.debug("----------debug"); logger.warn("-----------warn"); logger.error("----------error"); return "body"; }}
3. appender
C:\gather-logs\crm-info.log C:\gather-logs\server-info-%d{yyyyMMdd}.log.%i 5MB 2 %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger -%msg%n %date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n
(1) 日志打印保存的路径
C:\gather-logs\crm-info.log
(2) 日志文件的命名方式 如果: server-info-20190617.log.1
C:\gather-logs\server-info-%d{yyyyMMdd}.log.%i
(3) 日志的最大设置为5M ,如果大于5M ,则归档,创建文件如: server-info-20190617.log.2
5MB
(4)日志的保存时间 2天
2
(5)Logger 的输入格式 eg:
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger -%msg%n %date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldYellow(%thread) | %boldGreen(%logger) | %msg%n
4. 配置log的dev prd环境
${log.path}/web_debug.log %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n UTF-8 ${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log 1MB 15 debug ACCEPT DENY