写在前沿--springboot支持很多种日志配置,目前基本是logback 日志配置
项目开发中写的一个logback配置文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<!-- 日志默认输出位置为tomcat目录下的bin目录 ../logs指tomcat下日志文件路径 -->
<property name="log_path" value="../logs/ldx-manage-log" />
<!-- 控制台打印配置 -->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}}</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- 文件打印配置 -->
<!-- *************************** ERROR级别日志文件打印 *************************** -->
<appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log_path}/error/ldx-manage.log</file>
<!-- 日志记录器的滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志命名规则 %d{yyyy-MM-dd} 日期格式, %i 分页索引 -->
<fileNamePattern>${log_path}/error/ldx-manage.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志保留天数 -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件大小,超过后开始分页 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 日志格式及编码 -->
<encoder>
<!-- <pattern>${FILE_LOG_PATTERN}</pattern>-->
<!-- <pattern>%white(%d{yyyy-MM-dd HH:mm:ss}) %highlight(%lsn) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{10}) - %cyan(%msg%n)</pattern>-->
<pattern>d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- %logger{50}[%M][%L] - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!-- 只记录error级别日志 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>error</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- *************************** 允许输出的所有级别日志文件打印 *************************** -->
<appender name="ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log_path}/all/ldx-manage.log</file>
<!-- 日志记录器的滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志命名规则 %d{yyyy-MM-dd} 日期格式, %i 分页索引 -->
<fileNamePattern>${log_path}/all/ldx-manage.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 日志保留天数 -->
<maxHistory>30</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- 日志文件大小,超过后开始分页 -->
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<!-- 日志格式及编码 -->
<encoder>
<!-- <pattern>${FILE_LOG_PATTERN}</pattern>-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level --- %logger{50}[%M][%L] - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- ************************* 本地开发环境日志配置 ************************* -->
<springProfile name="dev">
<!-- trace, debug, info, warn, error, all, off -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ERROR_FILE"/>
<appender-ref ref="ALL_FILE"/>
</root>
</springProfile>
<!-- ************************* 服务器生产、测试环境日志配置 ************************* -->
<springProfile name="!dev">
<!-- trace, debug, info, warn, error, all, off -->
<root level="INFO">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="ERROR_FILE"/>
<appender-ref ref="ALL_FILE"/>
</root>
</springProfile>
</configuration>
————————————————
版权声明:本文为CSDN博主「_Harry_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/biangabiang/article/details/92790457
以上来自网上搜索到的logback日志的基本配置
然后我们怎么配置我们想要的配置
我们需要注意什么
1.对应线上的服务,我们无法时时刻刻去看对应实时日志输出,那么日志记录很关键
具体注意以下几点
A.日志尽可能输出全一点,因为项目小的,日志不会很多,但是日志对你问题排错,以及场景还原很有帮助。所以很多时候日志不单单是debug级别的记录,还有对应info的日常记录,用于记录一些功能,是否有返回值,简单点,一些用户登录时候的数据,比如登录ip,登录的时间,登录用的手机还是电脑,登录时候改变了什么动作,这些如果记录数据库,如果用insert记录,那么频繁页面操作,会给数据库带来不必要的开支,如果用update,那么会覆盖某一些有意义的操作动作,所以我们都可以采取日志进行记录,对应日志然后定时从服务器打包下来,这样我们可以分析数据排错,或者一些数据备份都是可以的
B.数据进行分页,一般是info日志输出比较多,需要进行分页,这样对于服务器线上查询比较有帮助,线上查询语句 一般是有 tail - f 对应日志.log 跟less 对应日志.log,这二种我比较推荐less,看的多全面,可以多试一下,挺有帮助的