亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java Spring Boot不記錄異常

Java Spring Boot不記錄異常

九州編程 2022-06-15 15:55:42
我有一個彈簧靴休息服務。當我向服務發送請求時,我想記錄它是否是成功的請求。如果其余服務成功,logger.info(任何記錄器甚至 logger.error 都會被記錄)將被記錄到控制臺。但是,當拋出 SQL 異常時,它不會將 logger.error 部分記錄到控制臺。我如何得到它,所以如果拋出異常,它也會將該部分記錄到控制臺?下面是測試方法:import org.slf4j.Logger;import org.slf4j.LoggerFactory   public String testMethod(){    try{        LOGGER.info("running test method");        Class.forName("oracle.jdbc.driver.OracleDriver");        Connection test = DriverManager.getConnection(                datasourceUrl,datasourceUsername,datasourcePassword);        //Select data        Statement stmt = test.createStatement();        InputStream input = getClass().getResourceAsStream("/testMethodSQL.sql");        String insertTableSQL = IOUtils.toString(input);         PreparedStatement preparedStatement = prod.prepareStatement(insertTableSQL);        ResultSet rs = preparedStatement.executeQuery();        }        test.close();        LOGGER.info("test Method successfully ran");        return "Done";    }    catch (Exception e) {        e.printStackTrace();        LOGGER.error("Error found: {}", e);        return "An error occured: " +  e;    }}這是我的 logback.xml 文件:<configuration><appender name="Console" class="ch.qos.logback.core.ConsoleAppender">    <encoder class="net.logstash.logback.encoder.LogstashEncoder">    </encoder></appender><root level="info">    <appender-ref ref="Console" /></root></configuration>例如,當拋出異常時,結果將打印出來:{"@timestamp":"2019-02-12T10:07:05.989-05:00","@version":1,"message":"running test method","logger_name":"com.test","thread_name":"http-nio-8080-exec-2","level":"INFO","level_value":20000,"RequestId":"6D71709D5A1A4C83876B68A661D696E3"}java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (TEST_TABLE.SYS_C0013283) violated但是,它不會記錄 Logger.error 部分
查看完整描述

2 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

可能是您的 IDE 抑制了日志條目。我最近在 IntelliJ 中遇到了這個問題。檢查是否有擴展日志條目的選項

http://img1.sycdn.imooc.com//62a9909a0001423e07100449.jpg

在發現擴展日志的選項之前,我最終得到了兩個最小的示例項目。一個項目使用了 spring + logback,另一個項目只使用了 logback。奇怪的是,僅使用 logback 的示例 IntelliJ 沒有執行任何抑制。



查看完整回答
反對 回復 2022-06-15
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

要啟用日志記錄,application.properties請在資源文件夾的根目錄中創建一個文件,并且您需要在您的application.properties


logging.level.org.springframework.web=ERROR

logging.level.com.mkyong=DEBUG

或者只是將它們添加到您的 logback.xml


    <logger name="com.mkyong" level="debug"

        additivity="false">

        <appender-ref ref="FILE-AUDIT" />

    </logger>


    <root level="error">

        <appender-ref ref="FILE-AUDIT" />

    </root>


查看完整回答
反對 回復 2022-06-15
  • 2 回答
  • 0 關注
  • 307 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號