导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:356
阅读量:1648420
访问量:205670
至今:
×
博文->>搜索结果(耗时0.021秒) 博文列表>>
Tags : 日志,异常,slf4j 发表时间: 2018-03-29 22:02:38
1、在项目代码里发现打印异常日志这样的代码不少logger.error("{}出现异常",msg,exception);结果:业务X出现异常。是不是异常堆栈信息都没看到。2、有什么问题?1)打印error异常堆栈的时候,是不能使用占位符替换;2)打印error使用了参数占位替换之后,不能再使用异常e参数。3、正确的姿势又要打印业务参数,也要打印异常堆栈信息,正确的姿势应该就是上面这样的。4、正确的引入Logger别引入其它的Logger包。比如:org.apache.logging.log4j;等正确的做法是引入slf4j的包org.slf4j.Logger。为什么要用slf4j-api这个包
类别:Java | 阅读(5987)| 回复(0)| (0) 阅读全文>>
Tags : Tomcat,日志,json 发表时间: 2017-12-10 13:01:18
想要修改Tomcat的默认格式为json格式,只需要在配置文件上改即可。这里以accesslog日志为例。1、Tomcat的默认日志格式为:%h%l%u%t"%r"%s%b效果是这样:51.255.71.133--[09/Dec/2017:22:41:59+0800]"GET/search?keywords=%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F&offset=1HTTP/1.1"200176642、只要在conf/server.xml上的context上Valve的pattern上修改即可:想要这样的效果:{"cl
类别:Java | 阅读(2364)| 回复(0)| (1) 阅读全文>>
Tags : logrotate,日志管理工具 发表时间: 2016-07-01 19:18:03
logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。1.配置实例/var/log/messages{rotate5weeklypostrotate/sbin/killall-HUPsyslogdendscript}"/var/log/httpd/access.log"/var/log/httpd/error.log{rotate5mailwww@my.orgsize100ksharedscriptspostrotate/sbin/killall-HUPh
类别:服务器 | 阅读(1794)| 回复(0)| (0) 阅读全文>>
Tags : Tomcat,日志切割,logrotate 发表时间: 2016-07-01 19:14:09
logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储、邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行。自动有了logrotate,我想不用再自己写日志切割脚本。如下对Tomcat日志catalina.out日志切割#ls-lh/usr/local/tomcat/logs/catalina.out-rw-r--r--1wwwwww14MAug2815:55/usr/local/tomcat/logs/catalina.out配置logrotate对catalina.out日志切割#cat/
类别:Java | 阅读(1391)| 回复(0)| (0) 阅读全文>>
Tags : Log4j,日志 发表时间: 2016-04-10 23:25:29
log4j.appender.CONSOLE.layout.ConversionPattern=[framework]%d-%c-%r[%t]%-10p%c%x-%m%n%-10p//'-'左对齐10宽度原文地址:Log4j.properties配置详解作者:大海巨浪http://blog.sina.com.cn/s/blog_7774a1fe01013msb.html一、Log4j简介Log4j有三个主要的组件:Loggers(记录器),Appenders(输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的
类别:Java | 阅读(1427)| 回复(0)| (0) 阅读全文>>
Tags : Log4j,日志 发表时间: 2016-04-10 23:24:26
问题:在进行多线程编程时,经常会在调试信息中看到线程的处理流程,需要在日志中体现当前线程信息。因Java中的线程名称采用了默认的“Thread-1”等字符串,定位不方便。分析:在JDK1.5开始对Thread类加入了getId()方法,即每个线程都有一个唯一的数字来代替。在记录日志时,是否可以通过记录线程ID来提升日志线程信息的清晰度?解决:Log4j默认只提供了对线程名称的现实,即使用占位符%t来显示名称。如果需要显示线程ID,需要拓展log4j。1.拓展Log4j的PatternParser代码:packageorg.apache.log4j;importorg.apache.log4j.
类别:Java | 阅读(2037)| 回复(0)| (0) 阅读全文>>
Tags : Java,日志 发表时间: 2016-01-07 00:12:06
日志记录是在软件开发过程中常常需要考虑的关键因素。当产品运行出错时,日志文件通常是我们进行错误分析的首要选择。而且,在很多情况下,它们是我们手上唯一可以用来查明发生状况和问题根本原因的信息。可见,正确记录需要的信息是极其重要的。以下5条日志规则,让我们可以检查和改进在代码中操作日志记录的方式。同时也请注意,我们既不会讨论怎么配置一个日志引擎,也不会相互比较。规则1、日志是面向读者的日志消息不仅要对书写(日志)代码的人有意义,也应该对日志文件的读者有意义。这似乎是一条很明显但却经常违背的规则。1ERROR:Savefailure-SQLException.....举个例子吧,我们来看看下面这条日
类别:Java | 阅读(1505)| 回复(0)| (0) 阅读全文>>
Tags : jstack日志 发表时间: 2019-03-17 23:53:19
在分析线上问题时常使用到jstack<PID>命令将当时Java应用程序的线程堆栈dump出来。面对jstack日志,我们如何查看?首先要清楚线程的状态线程的状态有:new、runnable、running、waiting、timed_waiting、blocked、dead线程状态变迁图:各状态说明:New:当线程对象创建时存在的状态,此时线程不可能执行;Runnable:当调用thread.start()后,线程变成为Runnable状态。只要得到CPU,就可以执行;Running:线程正在执行;Waiting:执行thread.join()或在锁对象调用obj.wait()等
类别:Java | 阅读(971)| 回复(0)| (0) 阅读全文>>
Tags : jstack,日志分析 发表时间: 2019-03-17 23:50:35
前段事件公司出现了一个严重故障(调用dubbo服务一直处于超时,整个服务系统发生雪崩,系统彻底访问不了),一开始怎么都找不到问题的根源,日志的表现形式是dubbo线程池用完了,那么具体是什么导致的没有找到,后然通过jstack日志分析才找到问题的根源,根源就是系统日志代码写有问题。通过这个故障我们来了解下如何通过jstack日志分析线上问题。首先了解下jstack简介jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。线
类别:Java | 阅读(1820)| 回复(0)| (0) 阅读全文>>
Tags : GC, CMS, 日志, 问题, secs 发表时间: 2017-11-08 21:48:13
这个是之前处理过的一个线上问题,处理过程断断续续,经历了两周多的时间,中间各种尝试,总结如下。这篇文章分三部分:1、问题的场景和处理过程;2、GC的一些理论东西;3、看懂GC的日志先说一下问题吧问题场景:线上机器在半夜会推送一个700M左右的数据,这个时候有个数据置换的过程,也就是说有700M*2的数据在heap区域中,线上系统超时比较多,导致了很严重(严重程度就不说了)的问题。问题原因:看日志,系统接口超时的时候,系统出现了F
类别:JVM | 阅读(1577)| 回复(0)| (0) 阅读全文>>
Tags : redis, 监控, -n, -p, 日志 发表时间: 2017-09-24 00:31:27
出现cpu过高的原因有:1、连接数过多,通过redis-cliinfo|grepconnected_clients查看2、慢查询,因为redis是单线程,如果有慢查询的话,会阻塞住之后的操作,通过redis日志查  3、value值过大?比如value几十兆,当然这种情况比较少,其实也可以看做是慢查询的一种4、aof重写/rdbfork发生?瞬间会堵一下Redis服务器对应解决方案:1、连接数过多解决:1.1关
类别:分布式 | 阅读(1066)| 回复(0)| (0) 阅读全文>>
Tags : 日志, Logstash, Kibana, ELK, Log 发表时间: 2017-09-16 13:53:55
ELK平台介绍在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:以下内容来自:http://baidu.blog.51cto.com/71938/1676798日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百
类别:大数据 | 阅读(906)| 回复(0)| (0) 阅读全文>>
Tags : GC, 日志, 分析, gc, -XX 发表时间: 2017-08-14 13:36:38
Gc日志参数通过在tomcat启动脚本中添加相关参数生成gc日志-verbose.gc开关可显示GC的操作内容。打开它,可以显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等。打开-xx:+printGCdetails开关,可以详细了解GC中的变化。打开-XX:+PrintGCTimeStamps开关,可以了解这些垃圾收集发生的时间,自JVM启动以后以秒计量。最后,通过-xx:+PrintHea
类别:JVM | 阅读(1255)| 回复(0)| (0) 阅读全文>>