logback实现日志按天和大小切分

简介: logback实现日志按天和大小切分

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan


【前言】


      项目中每天会打印很多日志,有时候进行排错打开一个大的日志文件(我们有一个系统的线上日志文件大小已经超过20G)是一件很可怕的事情;对日志进行按天的切分是一件非常有必要的事情。


【日志按天切分】


        一、在application.properties中增加log相关配置


#****************************Log****************************
zhanghan.system.log.path=/data/logs/zhanghan-log
logging.config=${spring.config.location}/logback.xml

        二、核心文件logback.xml


<configuration>
    <contextName>zhanghan</contextName>
    <property resource="file:${spring.config.location}/application.properties"/>
    <appender name="SYSTEM_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${zhanghan.system.log.path}/logs.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${zhanghan.system.log.path}/%d{yyyy-MM-dd}/logs-%i.log</fileNamePattern>
            <maxFileSize>1GB</maxFileSize>
            <maxHistory>60</maxHistory>
            <totalSizeCap>100GB</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger -%msg%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>
    <appender name="SYSTEM_STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <charset>UTF-8</charset>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>
    <root level="INFO">
        <appender-ref ref="SYSTEM_STDOUT"/>
        <appender-ref ref="SYSTEM_FILE"/>
    </root>
</configuration>


        三、利用命令启动时指定application.properties


nohup java $DEBUG -jar -Xmx256m -Dfile.encoding=UTF-8 -Dspring.config.location=/data/work/zhanghan/ zhanghan.jar >>zhanghan.log 2>&1 &

        四、SpringBoot中分析logback依赖关系


c2263ef49bef697c9b216972f11da7e0_70.png


        四、效果:


9852edbce381011903af9559bf420f98_70.png


【总结】


       1、日志按天切分后查找起来容易很多;


       2、多分析系统的日志,对于优化系统非常有帮助。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
XML Java 数据格式
【二十九】springboot整合logback实现日志管理
【二十九】springboot整合logback实现日志管理
153 1
|
4天前
|
Java Spring
【Spring Boot】logback和log4j日志异常处理
【1月更文挑战第25天】【Spring Boot】logback和log4j日志异常处理
|
4天前
|
SQL druid Java
springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式
springboot +logback+阿里数据源(druid)打印sql日志以及简化日志输出方式
441 0
|
4天前
|
前端开发 Java
日志框架:基于Logback实现链路追踪
日志框架:基于Logback实现链路追踪
|
4天前
|
运维 监控 前端开发
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
[SpringAop + Logback +MDC] 现网必备全链路日志追踪
|
4天前
|
Java Spring
日志之旅:深入Spring整合Logback的高效日志管理
日志之旅:深入Spring整合Logback的高效日志管理
23 2
|
4天前
|
监控 Java 测试技术
日志框架到底是Logback 还是 Log4j2
日志框架到底是Logback 还是 Log4j2
21 0
|
4天前
|
Java
使用logback异步打印日志
使用logback异步打印日志
使用logback异步打印日志
QGS
|
4天前
|
Java 数据库连接 Apache
Springboot日志框架logback与log4j2
Springboot日志框架logback与log4j2
QGS
45 0
|
4天前
|
XML 存储 Java
百度搜索:蓝易云【springboot增加logback日志记录ip详解】
通过以上步骤,您可以在Spring Boot应用程序中使用Logback记录客户端的IP地址。请根据实际需求和日志记录规则进行适当调整和配置。
54 0

热门文章

最新文章