Java Exception打印及输出到日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 有时候如果打印出异常的错误,并记录下来,这里记录一下

1、输出日志时会要输出一些错误的详情信息,下面是纯java获取的代码:

public class ExceptionUtil {
   
    public static String getExceptionInfo(Exception exception) {
   
        StringBuilder msg = new StringBuilder();
        if(exception != null) {
   
            //获取异常的名称
            msg.append(exception.getClass().getName());
            msg.append(" ");
            //异常信息
            msg.append(exception.getMessage());
            msg.append("\n");
            //具体的堆栈
            StackTraceElement[] msgST = exception.getStackTrace();
            for (StackTraceElement temp : msgST) {
   
                msg.append(temp.toString());
                msg.append("\n");
            }
        }
        return msg.toString();
    }
}

2、如果使用日志的话,就更简单:
这里使用的是:org.slf4j.Logger
logger.error("error msg ",e);
上面与e.printStackTrace();等同
注意:如果是logger.error("error msg {} ",e);无法输出堆栈信息,因为转成String了。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
23天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
2月前
|
Java 网络安全 Maven
Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
【10月更文挑战第26天】Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
64 2
|
3月前
|
人工智能 Oracle Java
解决 Java 打印日志吞异常堆栈的问题
前几天有同学找我查一个空指针问题,Java 打印日志时,异常堆栈信息被吞了,导致定位不到出问题的地方。
60 2
|
3月前
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
94 1
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
Java应用结构规范问题之配置Logback以仅记录错误级别的日志到一个滚动文件中的问题如何解决
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
Java应用结构规范问题之配置Logback以在控制台输出日志的问题如何解决
|
5月前
|
Java 应用服务中间件 HSF
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
Java应用结构规范问题之AllLoggers接口获取异常日志的Logger实例的问题如何解决
|
5月前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息
|
Java API Maven
一文搞懂Java日志级别,重复记录、丢日志问题(下)
一文搞懂Java日志级别,重复记录、丢日志问题
1296 0
一文搞懂Java日志级别,重复记录、丢日志问题(下)
|
XML 运维 Java
一文搞懂Java日志级别,重复记录、丢日志问题(上)
一文搞懂Java日志级别,重复记录、丢日志问题
280 0
一文搞懂Java日志级别,重复记录、丢日志问题(上)