Java 如何在日志中优雅的打印 Exception
一、使用 log 库打印
使用 log 库如 slf4j
@Slf4j
public class MyDemo {
public void demo() {
try {
int a = 10 / 0;
}
catch (Exception e) {
// 注意用逗号后面接 exception,才会打印出完整的 stacktrace
log.error("A something error", e);
// 用加号连接只会打印 exception 名称
log.error("B something error" + e);
}
}
}
执行结果
# 第一种打印出完整 stacktrace
22:58:41.064 [main] ERROR com.shuofxz.MyDemo - A something error
java.lang.ArithmeticException: / by zero
at com.youdao.analysis.queqiaohealthcheck.MyDemo.main(MyDemo.java:9)
#第二种仅打印了 exception 的名称
22:58:41.066 [main] ERROR com.shuofxz.MyDemo - B something errorjava.lang.ArithmeticException: / by zero
二、将 stacktrace 转换为 String
有时候需要将报错完整信息,以字符串的方式返回(如从客户端也能知道服务端具体报错的原因)
public class MyExceptionUtil {
public static void main(String[] args) {
Exception e = new Exception("my exception test");
System.out.println(covertStackTraceToString(e));
}
public static String covertStackTraceToString(Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
}
Java 如何在日志中优雅的打印 Exception的更多相关文章
- java log4j 打日志到控制台同时打印到不同文件
1.pom配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- python 实现过滤出tomcat日志中含有ERROR 或Exception 的行并保存在另一个文件
遍历多个tomcat日志文件,找出含有ERROR 和Exception 的日志,并把该行日志输出到另一个文件中:(这里为了体现python模块导入的知识,所有建立了多个文件夹和模块) 项目结构: co ...
- 关于JBoss日志中的报错Exception in thread "AWT-EventQueue-0"的解决记录
一.前情提要 操作系统:Windows Server 2008 R2,JDK版本:1.6.0_45,应用容器:JBoss 4.2.3 GA.所部署的应用均为Web型项目,没有任何图形相关的项目. 二. ...
- 这样也行,在lambda表达式中优雅的处理checked exception
目录 简介 lambda表达式中的checked exception lambda中的unchecked exception 对lambda的最终改造 总结 简介 最近发现很多小伙伴还不知道如何在la ...
- java 日志脱敏框架 sensitive,优雅的打印脱敏日志
问题 为了保证用户的信息安全,敏感信息需要脱敏. 项目开发过程中,每次处理敏感信息的日志问题感觉很麻烦,大部分都是用工具类单独处理,不利于以后统一管理,很不优雅. 于是,就写了一个基于 java 注解 ...
- rest-assured 将log()中的信息打印到log日志中去的方法
rest-assured 将log()中的信息打印到log日志中去的方法: ============方法1============== PrintStream fileOutPutStream = n ...
- Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat
版权声明:本文出自阿钟的博客,转载请注明出处:http://blog.csdn.net/a_zhon/. 目录(?)[+] 不得不说在AS2.2以上的版本进行开发就一个字——爽,在2.0上使用jni出 ...
- java自带日志框架打印info以下级别日志
本文为CSDN博主「LanTingShuXu」的原创文章,原文链接:https://blog.csdn.net/LanTingShuXu/article/details/80528558 java.u ...
- 如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下). 在一个月黑风高的夜晚,我思前想后,觉得再也不能 ...
- e.printStackTrace()打印在哪里以及如何e.printStackTrace()的内容打印在日志中
1.e.printStackTrace()打印在哪里 在catch中的e.printStackTrace()将打印到控制台 2.e.printStackTrace()打印的内容是什么 如下代码: im ...
随机推荐
- java进阶(4)--抽象类与接口的区别
1.抽象类是半抽象的,接口是全抽象的 2.抽象类中有构造方法,接口中没有构造方法 3.类与类之间不能多继承,接口与接口之间支持多继承 4.一个类可以同时实现多个接口,一个类只能继承一个抽象 ...
- 大四上 | 计算机综合课设(OS)· 答辩经验帖
课设代码 repo 被问了如下问题: 我们的 OS 中是否有 idle 进程. 背景:如果所有进程都被 kill 掉了,那么 os 就会陷入死循环.即使再发生需要响应的事情,比如希望再创建个进程 或者 ...
- 到底什么样的 Java 项目用 Solon 好???
什么样的 Java 项目用 Solon 好 就像华为讲的,不要因为爱国而特意买华为手机.Solon 也是,有需要就用不需要就跳过(按正常的需求选择): 信创需要国产化,应该用 Solon 或者 Sol ...
- [转帖]JDK8使用G1 垃圾回收器能解决大问题吗?
https://zhuanlan.zhihu.com/p/458098236 G1 垃圾回收器真的不行吗? 本文想突出两个问题: 解决问题的思路:从最原始的角度去思考,问题的本身是因为缓存数据导致的G ...
- PG数据库存储验证
PG数据库存储验证 背景 最近学习了SQLServer数据库的varchar和nvarchar的存储 想到PG数据库其实没让选择字符集,也没有nvarchar 所以想学习一下nvarchar的使用情况 ...
- [转帖]k8s ipv4/ipv6双栈实践
https://www.iceyao.com.cn/post/2020-11-28-k8s_dual_stack/ Posted by 爱折腾的工程师 on Saturday, November 28 ...
- 使用TFS CI 又想保留服务运行状态的简单方法
最近公司使用TFS-CI的方式定期部署测试环境, 但是发现TFS-CI 运行完之后会清理agent所在的测试环境. 运行的进程都会被killed 1. 第一种方法: 本来第一反应 是使用systemd ...
- VM PowerCli的简单安装和使用学习
1. Win10 上面安装 下载 zip包并且进行安装 win10 已经带了powershell 安装比较简单, 只不过安装时会提示 powershell的权限有问题需要打开powershell 执行 ...
- AIGC的隐私安全问题及隐私保护技术
作者:京东科技 杨博 ChatGPT 才出现两个月,就已经引起了学术界的关注.微软成为ChatGPT母公司OpenAI的合作伙伴,并确认投资百亿美元.同时,微软正计划将 OpenAI 的技术整合到其产 ...
- TienChin 项目改造完善&项目结构分析
项目改造完善 更改 Banner Banner 生成网站:https://bootschool.net/ascii 更改启动类中的 Banner !> 如果不生效,需要重新编译一下项目工程(出现 ...