程序日志_如何调试程序.pdf
文本预览下载声明
程序⽇志
0. 认识⼀下
⽇志是什么?
⾮官⽅定义:
服务程序在运⾏过程中打印出的反映服务当前运⾏状态的⼀些信息记
录
为什么打⽇志呢?
程序必须打印⽇志,否则没有⼈能够知道程序在⼲些什么(服务性程
序),也没有⼈知道程序当前的状态是否良好
通过查看⽇志,可以:
1 .确定程序的运⾏状态是否正常
2 .发现和跟踪错误,辅助定位Bug
3 .⽀持统计⼯作,⽐如流量统计、访问特征统计等
打⽇志是不是很简单?
实例1 :
问题何在?
简单吗?
实例2 :
NOTICE: 02-26 13:20:54: datacenter. * 196633 [logid:2798785731][proctime:total:
0(ms)rev:0+proc:0+write:0][reqip:][reqsvr:][cmdno:][svrname:query][errno:][][]
[]
问题何在?
真的简单吗?
实例3 :
WARNING: 01-21 00:39:11: pspui. * 57352 [logid:12345][reqip:][pspui.cpp:
213]receive apache request failed[unsupport apache command number]
WARNING: 01-21 00:42:16: clogin. * 40966 illegal vcode !
WARNING: 01-21 00:44:44: checkPass. * 8194 [logid:1101166481][reqip:45]
[checkPass_imp.cpp:1130]parse_dbshell_read_response: pusrinfo_res_t: can‘t find
current user from dbshell
FATAL: 08-12 23:31:04: uscore. * 81931 hd_tscore_res: the memory offset beyond the
limit! [Line 123]
问题何在?
真的很简单?
实例4 :
NOTICE: 11-29 22:43:51: confilter. * 204826 [request]; [576565637]:trans_logid=0,
cmd_no=100009 qidaid=0 uip=3238627806(93) uid=2853478
username=qeao130 opuid=0 op_username= create_time=0(Thu Jan 1 08:00:00 1970) title=
cid=88 anonymous=0 score=0 uscore=300 icon_sys=0 status=0 detail_len=846
NOTICE: 11-29 22:43:51: confilter. * 204826 [chk_url_counter]; renew sdb successed
NOTICE: 11-29 22:43:51: confilter. * 204826 [fc_eval]; denied index [266886]
NOTICE: 11-29 22:43:51: confilter. * 204826 [fc_eval]; denied index [160474]
NOTICE: 11-29 22:43:51: confilter. * 204826 [fc_eval]; denied index [782237]
NOTICE: 11-29 22:43:51: confilter. * 204826 [chk_url_counter]; denied url []
NOTICE: 11-29 22:43:51: confilter. * 204826 [op_filter]; find a denied url
NOTICE: 11-29 22:43:51: confilter. * 204826 [op_filter]; find AUrl, denied
NOTICE: 11-29 22:43:51: confilter. * 204826 [response]; [57656563
显示全部