sprinbboot 2.7启动不生成日志文件

新增了一个springboot项目,通过idea 调试,并且在idea 的vm options中指定-Dlogging.config=classpath:logback-pro.xml  或者 -Dlogging.config=classpath:logback-dev.xml 都能正常生成对应的日志文件。

部署到测试环境以及生产环境,日志文件却没有生成,甚是诡异。

测试环境的部署脚本主要为(其他忽略):

java -jar test.jar -Dlogging.config=classpath:logback-pro.xml

排查了各种原因,各种修改路径,总是在idea 正常,通过上面的命令,就不能生成文件。而且这个配置及整体项目架构,除了springboot 版本升级2.7.x外,和之前的项目架构几乎无差别。

百思不得解时,验证了下不指定,直接在properties文件中配置:

logging.config=classpath:logback-pro.xml 

然后项目打成jar包,执行命令 java -jar test.jar  ,惊喜出现,竟然文件生成了。

继而注释掉这个配置,重新打包还原之前的场景,继续执行这个命令:

java -jar test.jar -Dlogging.config=classpath:logback-pro.xml

问题依旧,于是猜测应该是启动的时候,没加载到指定的配置,试着把-Dlogging.config=classpath:logback-pro.xml 提到 -jar 前,结果也终于达到预期

java -Dlogging.config=classpath:logback-pro.xml -jar test.jar

综述:
解决方案1: 在springboot的 properties 文件或者yml 文件中直接配置

logging.config=classpath:logback-pro.xml

解决方案2:

把所有指定的环境变量,都放在-jar 前面,保证能正常加载

java -Dlogging.config=classpath:logback-pro.xml -jar test.jar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot JWT是一种在Spring Boot框架中使用的身份验证和授权机制。JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在不同的系统中安全地传输信息。在应用程序中使用JWT可以实现无状态的身份验证机制。 使用Spring Boot JWT,首先需要配置一个密钥,用于生成和验证JWT。然后,在用户登录时,通过验证用户的用户名和密码,生成一个JWT并返回给客户端。客户端在后续的请求中需要将该JWT作为请求头中的Authorization字段发送到服务器进行身份验证。 在服务器端,接收到请求后,解析JWT并验证其合法性。如果JWT通过验证,则可以认为用户是经过身份验证的,并根据用户的角色和权限来授权。JWT中通常包含有关用户的一些基本信息,如用户名、角色等。 Spring Boot JWT的优点是简单且易于实现。由于使用JWT实现了无状态的身份验证和授权,因此可以避免在服务器端存储会话信息,减轻了服务器的压力,提高了系统的性能。此外,JWT还可以设置过期时间和刷新机制,增加了安全性。 需要注意的是,JWT中的信息是在客户端生成的,并且是可解码的,并不是加密的。因此,在使用JWT时需要谨慎处理敏感信息。此外,由于JWT是基于时间的验证机制,因此需要设置合理的过期时间,以防止被非法使用。 总的来说,Spring Boot JWT是一种灵活且安全的身份验证和授权机制,适用于构建无状态的分布式应用程序。通过合理配置和使用,可以实现简单且可靠的用户身份验证和授权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值