代码中使用日志工具记录日志
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
1586

被折叠的 条评论
为什么被折叠?



