• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Kontinue
V2EX  ›  程序员

springboot 写入文件的日志如何输出异常栈

  •  
  •   Kontinue · May 13, 2020 · 3562 views
    This topic created in 2366 days ago, the information mentioned may be changed or developed.

    springboot 配置的日志默认好像只能打印自己手动输出的日志到文件,一旦系统需要错误抛出的例如 NullPointerException 这些都是无法输出到日志的,但是在控制台能看到,估计用的是标准输出流。

    网上给出的方案是:

    try {
        // 各种业务
        throw new NullPointerException();
    } catch (Exception e) {
    	log.error("exception occur...", e);
    }
    

    但是直接在所有的 service 方法加 try catch 这样也不太好吧,有没有什么好的方法去输出这些框架和语言本身抛出的异常呢?

    sheeta
    sheeta
    May 13, 2020
    1
    全局异常捕获,然后 if (e instanceof NullPointerException)
    luckylo
    luckylo
    May 13, 2020 via Android
    2
    service 层处理请考虑 AOP 。或者直接往上抛,利用 controller Advice 处理
    sufan1206
    sufan1206
    May 13, 2020 via iPhone
    3
    全局异常处理+日志
    Umenezumi
    Umenezumi
    May 13, 2020
    4
    全局异常处理就可以了。手动太麻烦了
    Kontinue
    Kontinue
    OP
    May 13, 2020
    5
    可以可以,本来就有全局异常处理的,sb 了,直接加一行 log.error 就好了,感谢
    starsli
    starsli
    May 13, 2020
    6
    @ControllerAdvice
    全局捕获异常,用 @ExceptionHandler 根据不同类型异常做对应的处理。
    JRay
    JRay
    May 13, 2020
    7
    全局异常
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1398 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 18:50 · PVG 02:50 · LAX 10:50 · JFK 13:50
    ♥ Do have faith in what you're doing.