Springboot项目保存本地系统日志文件的实现方法

网友投稿 296 2023-01-21

Springboot项目保存本地系统日志文件的实现方法

背景:我们都知道springboot默认日志是打印在控制台中的,不会以文件的形式进行保存。那么日后系统上线肯定是有需要对日志进行定位分析问题的,那么如何实现将控制台输出的日志保存起来?

话不多说,实际效果如下,如果是你预期的那样,咱们接着往下看。

如果最后觉得有所帮助,请不要吝啬你的赞,直接pia的点亮就完事了啦,可好;

如下是集成,按步骤来:

1、在项目的resources目录下创建一个名为logback-spring.xml的日志配置文件,配置文件名最好跟我一样;

2、编写xml文件内容:

code中每句都给出了注释,方便你们理解。

value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%c:%L]-%m%n"/>

${CONSOLE_LOG_PATTERN}

ERROR

DENY

ACCEPT

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileInfoLog.maxFileSize}

${logback.fileInfoLog.maxHistory}

${logback.fileInfoLog.totalSizeCap}

true

ERROR

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}-error.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-error-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileErrorLog.maxFileSize}

${logback.fileErrorLog.maxHistory}

${logback.fileErrorLog.totalSizeCap}

true

%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %m%n

${logback.rootDir}/${springAppName}-http.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-http-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileHttpLog.maxFileSize}

${logback.fileHttpLog.maxHistory}

${logback.fileHttpLog.totalSizeCap}

true

3、配置日志配置中所提到的springAppName;

4、使用这个默认不用配置pom依赖,最新的spring-boot-starter-web中已经集成了。如下,重启下项目就能自动生成日志文件了,而且是实时写入的,控制台输出什么,立马就更新进到该xxx.log里头。

记得,配置日志完后,记得刷新下maven或者关闭下项目重新打开,以免误导大家以为日志配置没用。

总结:启动项目,直接将logback-spring.xml文件复制到resources目录下就可以实现日志文件记录。是不是非常非常方便。

另外:

想要在控制台打印sql,如下:

在配置文件中,加上这句就好了;

###sql打印

logging.level.com.system.xiaoma.mapper=debug

value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>

value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%c:%L]-%m%n"/>

${CONSOLE_LOG_PATTERN}

ERROR

DENY

ACCEPT

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileInfoLog.maxFileSize}

${logback.fileInfoLog.maxHistory}

${logback.fileInfoLog.totalSizeCap}

true

ERROR

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}-error.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-error-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileErrorLog.maxFileSize}

${logback.fileErrorLog.maxHistory}

${logback.fileErrorLog.totalSizeCap}

true

%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %m%n

${logback.rootDir}/${springAppName}-http.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-http-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileHttpLog.maxFileSize}

${logback.fileHttpLog.maxHistory}

${logback.fileHttpLog.totalSizeCap}

true

3、配置日志配置中所提到的springAppName;

4、使用这个默认不用配置pom依赖,最新的spring-boot-starter-web中已经集成了。如下,重启下项目就能自动生成日志文件了,而且是实时写入的,控制台输出什么,立马就更新进到该xxx.log里头。

记得,配置日志完后,记得刷新下maven或者关闭下项目重新打开,以免误导大家以为日志配置没用。

总结:启动项目,直接将logback-spring.xml文件复制到resources目录下就可以实现日志文件记录。是不是非常非常方便。

另外:

想要在控制台打印sql,如下:

在配置文件中,加上这句就好了;

###sql打印

logging.level.com.system.xiaoma.mapper=debug

value="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %t [%c:%L]-%m%n"/>

${CONSOLE_LOG_PATTERN}

ERROR

DENY

ACCEPT

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileInfoLog.maxFileSize}

${logback.fileInfoLog.maxHistory}

${logback.fileInfoLog.totalSizeCap}

true

ERROR

${FILE_LOG_PATTERN}

${logback.rootDir}/${springAppName}-error.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-error-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileErrorLog.maxFileSize}

${logback.fileErrorLog.maxHistory}

${logback.fileErrorLog.totalSizeCap}

true

%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p %m%n

${logback.rootDir}/${springAppName}-http.log

${logback.rootDir}/%d{yyyy-MM,aux}/%d{yyyy-MM-dd,aux}/${springAppName}-http-%d{yyyy-MM-dd}.%i.log.zip

${logback.fileHttpLog.maxFileSize}

${logback.fileHttpLog.maxHistory}

${logback.fileHttpLog.totalSizeCap}

true

3、配置日志配置中所提到的springAppName;

4、使用这个默认不用配置pom依赖,最新的spring-boot-starter-web中已经集成了。如下,重启下项目就能自动生成日志文件了,而且是实时写入的,控制台输出什么,立马就更新进到该xxx.log里头。

记得,配置日志完后,记得刷新下maven或者关闭下项目重新打开,以免误导大家以为日志配置没用。

总结:启动项目,直接将logback-spring.xml文件复制到resources目录下就可以实现日志文件记录。是不是非常非常方便。

另外:

想要在控制台打印sql,如下:

在配置文件中,加上这句就好了;

###sql打印

logging.level.com.system.xiaoma.mapper=debug

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:开放api接口事务(开发者api服务)
下一篇:高分电影API(高分电影推荐)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~