Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导未记录异常_Java_Spring Boot_Logging - Fatal编程技术网

Java Spring引导未记录异常

Java Spring引导未记录异常,java,spring-boot,logging,Java,Spring Boot,Logging,我有一个弹簧靴休息服务。当我向服务发送请求时,我想记录它是否是成功的请求。如果rest服务成功,logger.info(任何记录器都将被记录,甚至logger.error)将被记录到控制台。但是,当抛出SQL异常时,它不会将logger.error部分记录到控制台。如果抛出异常,它还将把该部分记录到控制台中,我该如何得到它呢 以下是测试方法: import org.slf4j.Logger; import org.slf4j.LoggerFactory public String tes

我有一个弹簧靴休息服务。当我向服务发送请求时,我想记录它是否是成功的请求。如果rest服务成功,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>

但是,它不会记录Logger.error部分

要启用日志记录,请在resources文件夹的根目录中创建一个
应用程序.properties
文件,您需要在
应用程序.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>

可能是您的IDE抑制了日志条目。我最近在IntelliJ上遇到了这个问题。检查是否有扩展日志条目的选项


在找到扩展日志的选项之前,我以两个最小的示例项目结束。一个项目使用spring+logback,另一个项目只使用logback。奇怪的是,对于仅使用logback的示例,IntelliJ没有执行任何抑制。

我尝试在logback.xml上添加调试级别,但当抛出异常时,它没有记录“logger.error”部分。您仍然使用
logger.error(“错误发现:{}”,e)在您的代码中,对于我来说
根级别
应该是
“error”
而不是
“info”
如果您像我一样在@ExceptionHandler中有一个bug,那么错误级别是不够的,要调试它:
logging.level.org.springframework.web.servlet.mvc=debug
    <logger name="com.mkyong" level="debug"
        additivity="false">
        <appender-ref ref="FILE-AUDIT" />
    </logger>

    <root level="error">
        <appender-ref ref="FILE-AUDIT" />
    </root>