引子:qa的memcached总是隔一段时间挂掉,导致qa进不去。决定查一下原因,于是添加日志输出,等下次出错便于查阅、定位问题。

memcache默认没有日志输出。如果想把memecache服务日志保存到日志文件中,需要在启动参数中进行配置。

安装memache后,可以通过-h来查看支持的参数,其中关于日志输出的有以下三个:

-v    verbose (print errors/warnings while in event loop)       #代表打印普通的错误或者警告类型的日志信息
-vv very verbose (also print client commands/reponses) #打印的日志更详细,除了错误和警告,还包含了客户端命令和server端的响应信息
-vvv extremely verbose (also print internal state transitions) #最详尽的,甚至包含了内部的状态信息打印

根据需要选择相应的参数即可,这里选择-vv。由于需要将日志保存到文件而不是打印在控制台上,所以需要对-vv的输出进行数据流重定向。

修改memecache的脚本为:

killall memcached ; memcached -d start -m  -p  -u root -vv >> /data/logs/mem.log.`date +%Y%m%d` 2>&1 

标蓝部分是修改部分。

>> 追加形式写入日志文件中 (>表示覆盖)
/data/logs/mem.log.`date +%Y%m%d`为日志文件的名字。以年月日作为后缀来区分,无法进行日志切分(待研究和总结),只有重启的时候才会创建新的日志文件。
2>&1 将错误信息也一同写入日志文件中(详情参考 shell输入/输出重定向)

 

重启memcache, 相应目录便生成日志文件。

slab class   : chunk size         perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
slab class : chunk size perslab
< server listening (auto-negotiate)
< server listening (auto-negotiate)
< send buffer was , now
< send buffer was , now
< server listening (udp)
< server listening (udp)
< server listening (udp)
< server listening (udp)
< server listening (udp)
< server listening (udp)
< server listening (udp)
< server listening (udp)
< new auto-negotiating client connection
: Client using the ascii protocol
< set facebook_req_usrconf.do__1383
> STORED
< new auto-negotiating client connection
< new auto-negotiating client connection
: Client using the ascii protocol
< set facebook_sess_383
> STORED
< get facebook_sess_383
> sending key facebook_sess_383
> END
: Client using the ascii protocol
< incr facebook_add_action_t_383_usrconf.do
> NOT_FOUND
< set facebook_add_action_t_383_usrconf.do
> STORED
< incr facebook_add_action_t2_383
> NOT_FOUND
< set facebook_decorate_expire_1487865600001383
> STORED
< get facebook_login_mark_time_of_current
> END
< get facebook_login_mark_time_of_current
> END
< delete facebook__avas1_383

memcached添加日志输出的更多相关文章

  1. APK反编译后添加日志

    一.反编译 参考前一篇文章 二.添加寄存器(locals) 因为要添加日志,我们一般需要用一个变量来存储TAG,所以需要增加一个寄存器 如: # virtual methods .method pub ...

  2. springboot+logback日志输出企业实践(上)

    目录 1.引言 2.logback简介 3. springboot默认日志框架-logback 3.1 springboot示例工程搭建 3.2 日志输出与基本配置 3.2.1 日志默认输出 3.2. ...

  3. Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

    自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...

  4. Python之向日志输出中添加上下文信息

    除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名.这里我们 ...

  5. 【转】Python之向日志输出中添加上下文信息

    [转]Python之向日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定 ...

  6. Python 日志输出中添加上下文信息

    Python日志输出中添加上下文信息 除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息.比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如: ...

  7. Xcode 8 日志输出乱码问题

    更新到Xcode 8的同学应该都遇到了这个问题:用Xcode 8运行项目,日志会疯狂的刷,就像下面这种图一样:

  8. Haproxy安装配置及日志输出问题

    简介: 软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载 ...

  9. Python日志输出——logging模块

    Python日志输出——logging模块 标签: loggingpythonimportmodulelog4j 2012-03-06 00:18 31605人阅读 评论(8) 收藏 举报 分类: P ...

随机推荐

  1. tomcat和weblogic的区别

    Tomcat是Apache基金会提供的Servlet容器,它支持JSP, Servlet和JDBC等J2EE关键技术,所以用户可以用Tomcat开发基于数据库,Servlet和JSP页面的Web应用, ...

  2. PHP提取url

    <?php $str = parse_url('http://localhost/?id=2&cd=2', PHP_URL_QUERY); ECHO $str; parse_str($s ...

  3. linux下C语言实现的哈希链表【转】

    转自:http://blog.chinaunix.net/uid-28458801-id-4276934.html 操作系统:ubuntu10.04 前言:     在稍微大点的项目中,基本都会遇到算 ...

  4. python基础===利用unittest进行测试用例执行的几种方式

    利用python进行测试时,测试用例的加载方式有2种:  一种是通过unittest.main()来启动所需测试的测试模块:  一种是添加到testsuite集合中再加载所有的被测试对象,而tests ...

  5. tera term通过ttl脚本 自动连接服务器(转自http://www.cnblogs.com/wxb0328/p/teraterm.html)

    转自http://www.cnblogs.com/wxb0328/p/teraterm.html 在现在的这个公司一直使用tera term来远程连接服务器,感觉很方便,特别是它的ttl脚本配置的自动 ...

  6. 【转载】WebDriver(C#)之十点使用心得

    使用Selenium WebDriver驱动浏览器测试的过程中多多少少会遇到一些折腾人的问题,总结了一部分,做下分享. 一.隐藏元素处理(element not visible) 使用WebDrive ...

  7. 如何使用curl命令指定ip访问url

    有时我们需要测试一个url,但域名并没解析,这时为了一个简单的测试而写host或去做域名解析,显然这并不高效,而有些域名甚至是正式的域名,因此我们可有使用curl命令进行测试 方法一 curl url ...

  8. RGW 系统吞吐量(TPS)、用户并发量、性能测试概念和公式

      一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联. 单个reqeust 对CPU消耗越高,外部系统接口.IO影响速度越慢,系统吞吐能力越 ...

  9. js + -操作符

    js + 举例说明最有效了... "11"+1='111' "11"+'1'="111" 11+1=12 大概的感觉就是+操作符会优先输入S ...

  10. PyCharm中 ImportError: No module named tensorflow

    安装完 tensorflow 后在 PyCharm 中导入时显示找不到,可设置如下: PyCharm 中依次打开 File -> Settings -> Project:PycharmPr ...