ios linux 控制台输出,IOS日志输出工具-syslogd

清楚log的命令:echo "" > syslog

越狱环境下syslogd是ios中记录系统日志的守护进程。syslogd to var/log/syslog的作用是把日志写入 var/log/syslog文件中

在安装完syslogd这个插件后需要重启一次ios(reboot也是一个系统进程),才会生成/var/log/syslog文件,在ios运行的全过程中这个文件会越来越大

可以通过cat /dev/null > /var/log/syslog来清空它

NSLog函数记录日志对于开发人员来说很方便,对于测试人员来说很麻烦,通常记录日志到文件,再通过email发出来,我一直觉得使用很不方便。

而且又不能像android那样连上USB,启动DDMS就可以看日志,所见即所得。

1. 配置日志服务器

日志本来是一个古老的技术,可是linux内核就有日志服务了,那么我觉得可以直接使用linux 的syslogd服务作为日志服务器。

syslogd默认配置是不支持收集远程日志的,可以在linux 上打开 “/etc/sysconfig/syslog”配置,给SYSLOGD_OPTIONS加上 " -r " 参数即可

编辑配置文件  vi /etc/sysconfig/syslog

# Options to syslogd

# -m 0 disables 'MARK' messages.

# -r enables logging from remote machines

# -x disables DNS lookups on messages recieved with -r

# See syslogd(8) for more details

SYSLOGD_OPTIONS="-r -m 0"

# Options to klogd

# -2 prints all kernel oops messages twice; once for klogd to decode, and

#    once for processing with 'ksymoops'

# -x disables all klogd processing of oops messages entirely

# See klogd(8) for more details

KLOGD_OPTIONS="-x"

#

SYSLOG_UMASK=077

# set this to a umask value to use for all log files as in umask(1).

# By default, all permissions are removed for "group" and "other".

然后重启日志服务   sudo /etc/init.d/syslog restart

2. iOS 使用日志接口

iphone上也可直接syslog函数,但配置了iphone syslog服务把日志发到远程服务器,所以不JB是不行的。更何iOS码农更新一直都很积极。

只好另辟蹊跷。然后通过抓syslog协议的数据包,发现是直接以明文作为UDP包发送的,那这个就好办了,不就是几行代码的问题么。

具体参见源码

1

2#define LOG_SERVER_IP       "192.168.2.13"     //设置你syslog服务器的IP

#define LOG_SERVER_PORT     514                   //设置syslog服务器的端口

然把logger.h及logger.m加到你的项目中,在xcode的pch预编译文件中加入 import "logger.h"即可

然后一句代都都不用写,自动把原有NSLog日志发送到远程服务器上了

3. 查看日志

通ssh连接到日志服务器上面,通tail 命令查看日志, grep来过滤日志内容

1

2

3tail-f /var/log/message |grep

tail -f /var/log/messagrep| grep ] &ntail(可以添加多个过滤条件)

tail -3000 /vgrepog/message [| grep ]  (显示最近的3000条记录)

P.S. 虽然代码很简单,我觉得这个思路可以有助于大家测试程序,需者自取。

假如你没有linux服务器,或者不会玩linux也没有关系,可以试试windows上syslog server,http://sourceforge.net/projects/syslog-server/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值