欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot日志沒(méi)有記錄異常問(wèn)題及解決

 更新時(shí)間:2025年02月19日 09:30:07   作者:FlowingRiver  
在Spring Boot項(xiàng)目中,定時(shí)任務(wù)在服務(wù)器上運(yùn)行時(shí)報(bào)錯(cuò)但未記錄日志,本地運(yùn)行時(shí)控制臺(tái)能打印報(bào)錯(cuò)信息,但日志中無(wú)記錄,問(wèn)題出在報(bào)錯(cuò)發(fā)生在線(xiàn)程池中,通過(guò)繼承ThreadPoolExecutor并重寫(xiě)afterExecute方法,可以將異常信息記錄到日志中

springboot 日志沒(méi)有記錄異常

背景

springboot項(xiàng)目,放到服務(wù)器上跑,定時(shí)任務(wù)運(yùn)行過(guò)程中中斷,查看日志卻發(fā)現(xiàn)沒(méi)有報(bào)錯(cuò)。

在本地跑,發(fā)現(xiàn)控制臺(tái)能打印報(bào)錯(cuò)信息,而日志也沒(méi)有記錄報(bào)錯(cuò)。

經(jīng)排查,發(fā)現(xiàn)是因?yàn)閳?bào)錯(cuò)出現(xiàn)在線(xiàn)程池中,沒(méi)有在日志中記錄。

原先使用線(xiàn)程池:

ExecutorService executorService = Executors.newFixedThreadPool(15);

解決

新建類(lèi)繼承ThreadPoolExecutor,重寫(xiě)afterExecute方法。

@Slf4j
public class TaskExecutor extends ThreadPoolExecutor {
    public TaskExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) {
        super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
    }

    @Override
    protected void afterExecute(Runnable r, Throwable t) {
        super.afterExecute(r, t);
        if (t != null) {
            log.error(t.getMessage(), t);
        }
    }
}

使用:

   ExecutorService executorService = new TaskExecutor(10, 15,
            0L, TimeUnit.SECONDS,
            new LinkedBlockingQueue<>());

日志中就有異常信息了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Validation實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的示例

    Spring?Validation實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的示例

    Spring?Validation其實(shí)就是對(duì)Hibernate?Validator進(jìn)一步的封裝,方便在Spring中使用,這篇文章主要介紹了Spring?Validation實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)的示例,需要的朋友可以參考下
    2023-03-03
  • SpringMVC上傳和解析Excel方法

    SpringMVC上傳和解析Excel方法

    這篇文章主要介紹了SpringMVC上傳和解析Excel方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • SpringCloud使用Feign文件上傳、下載

    SpringCloud使用Feign文件上傳、下載

    這篇文章主要為大家詳細(xì)介紹了SpringCloud使用Feign文件上傳、下載功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 淺談Java中IO和NIO的本質(zhì)和區(qū)別

    淺談Java中IO和NIO的本質(zhì)和區(qū)別

    IO的全稱(chēng)是input output,是java程序跟外部世界交流的橋梁,IO指的是java.io包中的所有類(lèi),他們是從java1.0開(kāi)始就存在的。NIO叫做new IO,是在java1.4中引入的新一代IO。IO的本質(zhì)是什么呢?它和NIO有什么區(qū)別呢?我們?cè)撛趺磳W(xué)習(xí)IO和NIO呢?看完這篇文章一切都有答案。
    2021-06-06
  • Maven使用pom.xml引入自定義jar包方式

    Maven使用pom.xml引入自定義jar包方式

    這篇文章主要介紹了Maven使用pom.xml引入自定義jar包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 解析spring-security權(quán)限控制和校驗(yàn)的問(wèn)題

    解析spring-security權(quán)限控制和校驗(yàn)的問(wèn)題

    這篇文章主要介紹了解析spring-security權(quán)限控制和校驗(yàn)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 零基礎(chǔ)寫(xiě)Java知乎爬蟲(chóng)之進(jìn)階篇

    零基礎(chǔ)寫(xiě)Java知乎爬蟲(chóng)之進(jìn)階篇

    前面幾篇文章,我們都是簡(jiǎn)單的實(shí)現(xiàn)了java爬蟲(chóng)抓取內(nèi)容的問(wèn)題,那么如果遇到復(fù)雜情況,我們還能繼續(xù)那么做嗎?答案當(dāng)然是否定的,之前的僅僅是入門(mén)篇,都是些基礎(chǔ)知識(shí),給大家練手用的,本文我們就來(lái)點(diǎn)高大上的東西
    2014-11-11
  • Java純代碼實(shí)現(xiàn)導(dǎo)出PDF功能

    Java純代碼實(shí)現(xiàn)導(dǎo)出PDF功能

    在項(xiàng)目開(kāi)發(fā)中,產(chǎn)品的需求越來(lái)越奇葩啦,開(kāi)始文件下載都是下載為excel的,做著做著需求竟然變了,要求能導(dǎo)出pdf,本文就來(lái)和大家分享一下Java實(shí)現(xiàn)導(dǎo)出PDF的常用方法吧
    2023-07-07
  • 深入分析JAVA流程控制語(yǔ)句

    深入分析JAVA流程控制語(yǔ)句

    這篇文章主要介紹了JAVA流程控制語(yǔ)句的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • @Valid 校驗(yàn)無(wú)效,BindingResult未獲得錯(cuò)誤的解決

    @Valid 校驗(yàn)無(wú)效,BindingResult未獲得錯(cuò)誤的解決

    這篇文章主要介紹了@Valid 校驗(yàn)無(wú)效,BindingResult未獲得錯(cuò)誤的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10

最新評(píng)論