记录一下在application.properties中的简单日志配置:
## log ##
logging.level.root=info
# 日志文件路径及文件名,路径不配置默认当前项目,logging.file配置后logging.path不会再生效
logging.file=/restapi.log
# 日志文件路径 默认生成的文件名spring.log
logging.path=/springboot/logs
# 在控制台输出的日志的格式
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
# 日志文件中日志输出的格式
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
# sql #
# logging.level.包名
logging.level.com.app.dao.mysql=debug
然后对上面的配置解析一下:
logging.level.root=info:根日志的输出级别为info,一般常用的有debug<info<warn<error,日志级别最高的为error,springboot默认级别为info,日志数据太多影响了系统执行速度的时候,想关闭日志的话调为warn或error即可。
logging.file=/restapi.log:在当前系统所在盘下生成restapi.log日志记录文件,可/folder/restapi.log这种格式添加子文件夹。
logging.path=/springboot/logs:在当前系统所在盘下的springboot/logs子文件夹下生成spring.log日志记录文件,默认的文件名spring.log好像是不让修改的,优先级比logging.file低,在配置了logging.file后不会再生效。
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n:
-
%d表示当前时间,{yyyy-MM-dd HH:mm:ss}表示时间格式。
-
%thread表示线程名称。
-
%‐5level:日志级别从左显示5个字符宽度。
-
%logger{50} 表示logger名字最长50个字符,否则按照句点分割。
-
%msg:日志详细消息。
-
%n:换行。
logging.level.com.app.dao.mysql=debug:com.app.dao.mysql包下日志级别使用debug模式,主要是为了记录mysql的sql执行语句,mybatis打印sql执行语句默认是debug级别。
Java代码中使用logger:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
protected Logger logger = LoggerFactory.getLogger(this.getClass());