Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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/Slf4J:单个类的自定义日志记录?_Java_Spring Boot_Logging_Slf4j - Fatal编程技术网

Java/Slf4J:单个类的自定义日志记录?

Java/Slf4J:单个类的自定义日志记录?,java,spring-boot,logging,slf4j,Java,Spring Boot,Logging,Slf4j,我有一个带有应用程序的Spring Boot应用程序。yml如下所示: logging: level: com.mycompany.TestClass: OFF 通过这个,我可以控制类是否输出任何日志。我想做的是,对于这个特定的类,格式化异常消息而不使用堆栈跟踪(不影响任何非异常日志)。例如,如果类的某个方法引发异常,我将按照如下方式记录该异常: try { //throw index of bounds exception } catch(Exce

我有一个带有
应用程序的Spring Boot应用程序。yml
如下所示:

logging:
       level:
             com.mycompany.TestClass: OFF
通过这个,我可以控制类是否输出任何日志。我想做的是,对于这个特定的类,格式化异常消息而不使用堆栈跟踪(不影响任何非异常日志)。例如,如果类的某个方法引发异常,我将按照如下方式记录该异常:

try {
  //throw index of bounds exception
} catch(Exception e){
  log.error("Error occurred: " + e)
}
我只想要下面的部分(没有堆栈跟踪):

这有可能吗

编辑
我正在尝试以JAR文件的日志记录为目标-我没有修改代码的权限…

您可以尝试使用
e.getMessage()
而不是只传递
e
变量。因此,您的代码如下所示:

try {
  //throw index of bounds exception
} catch(Exception e){
  log.error("Error occurred: " + e.getMessage());
}

如果正在使用,则必须在logback.xml中使用异常深度。在logback和slf4j中有一个工具,您可以在其中提到异常stacktrace的长度。我在下面提供这个片段

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- %rEx... prints exception causes in REVERSE order: http://nurkiewicz.blogspot.com/2011/09/logging-exceptions-root-cause-first.html -->
            <pattern>
                <![CDATA[%-19(%date{HH:mm:ss.SSS} [%.8thread]) %-5level   %-128(%-32(%replace(%logger{1}){'^org\.wrml.*\.',''}) - %msg) %n%rEx]]></pattern>
        </encoder>
    </appender>

如果要使用application.yml进行配置,可以参考下面的链接


无论如何,要配置
application.yml
application.properties
文件?@GdgamesGamers,我已经更新了答案。请看一看。@gdgamesgames,如果您觉得有帮助,请您投票并标记为已回答好吗?
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- %rEx... prints exception causes in REVERSE order: http://nurkiewicz.blogspot.com/2011/09/logging-exceptions-root-cause-first.html -->
            <pattern>
                <![CDATA[%-19(%date{HH:mm:ss.SSS} [%.8thread]) %-5level   %-128(%-32(%replace(%logger{1}){'^org\.wrml.*\.',''}) - %msg) %n%rEx]]></pattern>
        </encoder>
    </appender>