Springboot项目异常记录

Springboot项目中的异常记录1

BeanCreationException

引起原因:对bean添加错误错误

Caused by: java.lang.NoClassDefFoundError: org/aspectj/lang/annotation/Pointcut
	at org.springframework.aop.aspectj.annotation.AbstractAspectJAdvisorFactory.<clinit>(AbstractAspectJAdvisorFactory.java:62) ~[spring-aop-5.2.5.RELEASE.jar:5.2.5.RELEASE]
	at org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator.initBeanFactory(AnnotationAwareAsp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现方式如下: 1. 在 Spring Boot 项目中引入 Logback 和 Logstash 依赖。 2. 在 logback.xml 中配置 Logstash Appender,同时设置好要保存到数据库的字段。 ``` <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>localhost:4560</destination> <encoder class="net.logstash.logback.encoder.LogstashEncoder"> <customFields>{"appname":"${springAppName}","profile":"${spring.profiles.active}"}</customFields> </encoder> </appender> ``` 3. 在 logstash.conf 中配置 input、filter、output,其中 filter 部分要将异常信息解析,提取出需要保存的信息字段。 ``` input { tcp { port => 4560 codec => json_lines } } filter { json { source => "message" } grok { match => { "message" => "%{TIMESTAMP_ISO8601:logtime} \[%{DATA:thread}\] %{LOGLEVEL:level} %{DATA:class} - %{GREEDYDATA:logmsg}" } } mutate { add_field => { "timestamp" => "%{logtime}" "thread" => "%{thread}" "level" => "%{level}" "class" => "%{class}" "message" => "%{logmsg}" } } } output { jdbc { jdbc_connection_string => "jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull&useSSL=false" jdbc_user => "username" jdbc_password => "password" jdbc_driver_library => "/path/to/mysql-connector-java-5.1.31.jar" jdbc_driver_class => "com.mysql.jdbc.Driver" statement => "INSERT INTO log_table(timestamp,thread,level,class,message) VALUES(?,?,?,?,?)" use_prepared_statements => true flush_size => 100 max_flush_exceptions => 5 } } ``` 4. 在 Spring Boot 项目异常处理器中,将捕获到的异常信息通过 Logback 记录到 Logstash 中。 ``` @ExceptionHandler(Exception.class) public void handleException(Exception e) { logger.error("Exception occurred: ", e); } ``` 这样,当异常发生时,Logback 会将异常信息发送到 Logstash,Logstash 解析后将需要保存的字段插入到数据库中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值