首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何正确地打印异常堆栈信息

前言 最近老大让我修改项目所有和log有关的代码,之前我也用过log4j、slf4j或者Logback等日志框架/接口,一直以为打印异常信息就是简单地一句log.info()或者log.error()...如何正确地打印异常的堆栈信息? 一般在catch到异常的时候,不要使用e.printStackTrace()来打印异常信息。...Message: ERROR; Description: Error found: java.lang.ArithmeticException: / by zero 对于第一个log语句,可以看到堆栈信息打印出来...对于第二个log语句,只是打印出了异常的具体信息,既没有异常类名,也没有堆栈信息。 对于第三个log语句,打印出了异常的类名和具体信息,但是没有打印出来堆栈信息。...总结一下,就是我们应该使用第一种log语句的形式来将堆栈信息打印出来,方便日后定位bug,排除错误。 警告 本文最后更新于 November 11, 2018,文中内容可能已过时,请谨慎使用。

1.3K00

如何打开win10面的ubuntu系统

这估计是很多极客弃离windows,选择使用mac或者linux桌面的原因。但mac贵,所以没有钱又不堪windows流氓软件烦扰的穷极客(比如一番)便热衷使用ubuntu桌面系统。...因为大多数朋友使用的都是windows系统,想要使用这个工具只能重新安装ubuntu系统或者在vmware、vbox安装虚拟机来运行程序。...开启“适用于Linux的Windows子系统” 如下图,依次点击:开始(windows)→设置→应用和功能→程序和功能→启用或关闭Windows功能→适用于Linux的Windows子系统,选中前面的选择框既可...开启“开发人员模式” 如下图,依次点击:开始(windows)→设置→更新和安全→开发者选项→开发人员模式,点击前面的单选框即可。 ? 3....在win10运行ubuntu系统 安装成功后便可在开始菜单向打开一个应用一样打开ubuntu的运行环境。我们便有了一个windows下运行ubuntu的环境了。

6.7K20

Kafka 里面的信息如何被消费的?

作为一个爬虫工程师,Kafka 对你而言就是一个消息队列,你只需要掌握如何向里面写入数据,以及如何读取数据就可以了。...今天我们要讨论的一个话题是,Kafka 是如何做到,对单个程序的多个进程而言,能持续消费,断点续传和并行消费;对多个程序而言又互不影响,各自独立。...信息从右边进去,从左边出来。如果这是Redis 的列表,那么它弹出一条信息以后,队列会变成下面这样: ? 最左边的信息1不见了。...所以即使程序在消费了信息1后立刻关闭,再重新打开,程序也会接着从信息2开始消费,不会把信息1重复消费两次。 但我如果有两个程序呢?程序1读取每一条数据,再转存到数据库。...当程序1要读取 Kafka 里面下一条数据时,Kafka 先把当前位置的标记向右移动一位,把新的这个值返回出来。标记移动与返回这两个操作合在一起算是一个原子操作,不会出现重复读取的问题。

94910

没有串口,如何打印单片机调试信息

输出调试信息是嵌入式开发中必不可少的调试利器,嵌入式开发的一个特点是很多时候没有操作系统,或者没有文件系统,常规的打印log到文件的方法基本不适用。...但是这样简单的功能有时候却不是那么好用,比如: 一款新拿到的芯片,没有串口驱动时如何打印log? 某些应用下对时序要求比较高,串口输出log占用时间太长怎么办?比如usb枚举。...一些封装中没有串口,或者串口已经被用作其他用途,要如何输出log? 本文介绍单片机没有串口时,如何打印调试信息。...simu_delay(baud_delay); simu_delay(baud_delay); __asm("cpsie i"); return 0; } 介绍了几种开发中使用过的打印调试信息的方法...,方法总是死的,关键在于能灵活使用;通过打印有效的调试信息,可以帮助解决开发及后期维护中遇到的问题,少走弯路。

1.1K10

没有串口,如何打印单片机调试信息

第一时间看干货文章 1 输出调试信息是嵌入式开发中必不可少的调试利器,嵌入式开发的一个特点是很多时候没有操作系统,或者没有文件系统,常规的打印log到文件的方法基本不适用。...但是这样简单的功能有时候却不是那么好用,比如: 一款新拿到的芯片,没有串口驱动时如何打印log? 某些应用下对时序要求比较高,串口输出log占用时间太长怎么办?比如usb枚举。...一些封装中没有串口,或者串口已经被用作其他用途,要如何输出log? 本文介绍单片机没有串口时,如何打印调试信息。 1....simu_delay(baud_delay); simu_delay(baud_delay); __asm("cpsie i"); return 0; } 介绍了几种开发中使用过的打印调试信息的方法...,方法总是死的,关键在于能灵活使用;通过打印有效的调试信息,可以帮助解决开发及后期维护中遇到的问题,少走弯路。

1.2K20

条码打印软件中如何设置条形码下面的字符间距?

条形码有两部分组成,上面是黑白条图案,用于扫描设备的识别,下面是条形码数据,方便在没有扫描设备的情况下可以手动去搜索相关的信息。...一般用条码打印软件制作条形码,下面的条形码数据间距是自动生成的,而在条码打印软件制作的条形码是可以根据自己的需要手动设置这些字符间距,接下来就一起看看如何自定义条码字符间距。...在条码打印软件中制作一个条形码,在条码属性中可以修改条码数据。  在条形码的“图形属性”-“文字”选项中可以直接修改字间距,根据自己的需要手动设置字间距。...在条码打印软件中还有另一种方法也可以修改条形码字符间距,是通过格式化的方式来实现,还是在条形码属性的“文字”选项中,设置格式化,条码数据有多少位就输入多少个输入英文的问号“?”...(也可以加其他自己需要的字符,不影响条形码的识别) 以上就是在条码打印软件中自定义设置条形码下面的字符间距的几种方法,条码打印软件不论是条形码的字符间距设置还是条形码的数据输入,或者条形码的类型选择都是非常方便灵活的

1.2K20

Docker容器进程的 pid 是如何申请出来的?

Docker容器进程的 pid 是如何申请出来的?...内核又是如何显示容器中的进程号的? 前面我们在《Linux进程是如何创建出来的?》中介绍了进程的创建过程。事实上进程的 pid 命名空间、pid 也都是在这个过程中申请的。...一、Linux 的默认 pid 命名空间 前面的文章《Linux进程是如何创建出来的?》中我们提到了进程的命名空间成员 nsproxy。...在 《Linux进程是如何创建出来的?》一文中我们已经了解了进程的创建过程。整个创建过程的核心是在于 copy_process 函数。...那么容器在查看进程的 pid 号的时候,传入容器的 pid 命名空间,就可以将该进程在容器中的 pid 号 5 给打印出来了!! ---- 转载 Docker容器进程的 pid 是如何申请出来的?

60820

Docker容器进程的 pid 是如何申请出来的?

/demo-ie 13 root 0:00 /bin/bash 21 root 0:00 ps -ef 不知道大家是否和我一样好奇容器进程中的 pid 是如何申请出来的...内核又是如何显示容器中的进程号的? 前面我们在《Linux进程是如何创建出来的?》中介绍了进程的创建过程。事实上进程的 pid 命名空间、pid 也都是在这个过程中申请的。...一、Linux 的默认 pid 命名空间 前面的文章《Linux进程是如何创建出来的?》中我们提到了进程的命名空间成员 nsproxy。...在 《Linux进程是如何创建出来的?》一文中我们已经了解了进程的创建过程。整个创建过程的核心是在于 copy_process 函数。...申请 pid 并不是申请了一个,而是使用了一个 for 循环申请多个出来 之所以要申请多个,是因为对于容器的进程来说,并不是在自己当前的命名空间申请就完事了,还要到其父命名空间中也申请一个。

74710
领券