遇到问题找日志,已经成了程序猿的约定俗称的方法。从起初的单体服务,到微服务的架构,再到分布式架构,日志的作用越来越重要,但是程序猿们查找问题也越来越困难,特别是动辄几十的实例部署,如果日志信息不完善,你都不知道去哪儿找。
好的日志,可以让我们轻松定位到一下信息
目前slf4j + logback业界主荐,稍加配置即可实现打印以上信息的功能。
<!--指定ip获取类-->
<conversionRule conversionWord="ip" converterClass="com.ybl.cloud.services.log.IpConverter" />
<!--定义App名称-->
<springProperty scope="context" name="APPLICATION_NAME" source="spring.application.name"/>
<!--定义App运行环境-->
<springProperty scope="context" name="APPLICATION_ENV" source="spring.profiles.active"/>
<!--定义log日志模板-->
<property name="CONSOLE_LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) [${APPLICATION_NAME},${APPLICATION_ENV},%ip] [%yellow(%thread)] %green(%logger{50}) : %msg%n"/>
这里面只有IP需要Java代码来获取,其他的都可以从application.yml中得到。默认的日志模板没有IP,IpConverter.java如下:
%date{yyyy-MM-dd HH:mm:ss.SSS} 日期
%highlight(%-5level) %highlight代表高亮显示;%level 日志等级;-5日志信息,-代表左对齐,5位最小宽度
[$APPLICATION_NAME,$APPLICATION_ENV,%ip] 实例名称,环境,ip地址
留言与评论(共有 0 条评论) |