问题与分析 最近在查项目的log时发现报了大量的NPE(NullPointerException),诡异的是只log了Exception的类名,却没有具体的堆栈信息,以致于无法对该NPE异常进行准确定位. 这是因为jvm自身存在着优化机制,但一个同样的异常重复出现并被打印到log后,jvm可以不提供具体的堆栈信息来提高性能.关于这个的具体信息我们可以从官网上查到相关的资料: http://www.oracle.com/technetwork/java/javase/relnotes-139183…
rest-assured 将log()中的信息打印到log日志中去的方法: ============方法1============== PrintStream fileOutPutStream = new PrintStream(new File("log/test.log")); RestAssured.config = RestAssured.config().logConfig(new LogConfig(fileOutPutStream, true)); ===========…
现象描述: (1).数据库通过调用透明网络实现分布式事务,但透明网关停用后,失败的分布式事务并未清理. (2).数据库 alert 日志 Thu Sep 06 06:53:00 2018 Errors in file /u01/app/oracle/diag/rdbms/zszdb/ZSZDB/trace/ZSZDB_reco_12245.trc: ORA-01017: invalid username/password; logon denied [Oracle][ODBC SQL Serve…
sed -i '/{Str}/d' abc.txt 假如你的log日志中某行有sleep字符,直接输入命令: sed -i '/sleep/d' log.log 如果删除的是一个变量的值,假如是var的命令: sed -i '/'"$var"'/d' abc.txt 注意:在要删除的字符串俩边用"/"和"/d"包起来. '/xxxx/d' 集体sed的用法,请移步: https://www.cnblogs.com/maxincai/p/51463…
遇到的问题 今天遇到一个线上的BUG,在执行表单提交时失败,但是从程序日志中看不到任何异常信息. 在Review源代码时发现,当catch到异常时只是输出了e.getMessage(),如下所示: logger.error("error: {}, {}", params, e.getMessage()); 在日志中看不到任何信息,说明e.getMessage()返回值为空字符串. 原因分析 先来看一下Java中的异常类图: Throwable是Java中所有异常信息的顶级父类,其中的成…
任务要求 统计指定时间内,指定git地址与svn地址上的所有人员的代码行变更情况. 解决方案 最初为根据数据库中存储的所有git与svn地址来统计所有人员的提交代码行.之后由于库中存储的地址不全,改为通过gitlab api,找到上面的所有仓库,之后统计代码行.svn由于数据库中地址存储较全,所以还是从库中获取地址. 实际流程 git代码行统计: 任意一个git的ip地址内会包含很多仓库地址,每次调用api最多只能查出100条地址,需要设置起始查询的页数. 所以先调用api查询出来一共有多少页(…
在日常工作中,我们经常需要查看日志,比如可以通过 tail 命令实时查看日志,也可以通过 cat 等命令查看日志信息. 但现在我们要讨论的是,如何从日志中通过关键字过滤出我们想要的内容,方法有多种,今天我们主要以 cat 命令来进行学习. 假设存在日志文件 hrun.log,查询的关键字为"新增用户": 根据关键字查看日志 cat hrun.log | grep "新增用户" 根据关键字查看后10行日志 cat hrun.log | grep "新增用户&…
最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml <logger name="java.sql.Connection" level="DEBUG" /> <logger name="java.sql.Statement" level="DEBUG" />…
生产环境抛异常,但却没有将堆栈信息输出到日志,确认打印日志方法正确logger.error("somthing error", ex); JVM启动参数加上-XX:-OmitStackTraceInFastThrow(减号表示关闭,加号则表示启用) 原因参考 http://www.oracle.com/technetwork/java/javase/relnotes-139183.html#vm The compiler in the server VM now provides co…
可能是MySQL在某些情况下重启(密切关注重启现象,关注日志,找出原因),导致mycat切换主从.由于设置了单向主从,mycat将从库切换为主库,原来的主库宕机.后来重新更新dnindex.conf之后,重启mycat后导致MySQL主从复制失败,原因是:当主机宕机后,从机升主,读写都在新主上,强制切换主从后,从机复制主机失败.解决办法:设置双主模式,保证单台机器宕机后,两台机器的数据一致.当某台机器宕机后,重启后能够更新数据,保证数据一致. 测试:登陆其中62服务器,kill掉3306端口.m…