log日志重定向

1、重定向:

  我们在使用NSLog(@"hahaha") 时,实质是将“hahaha”写入到一个系统默认位置的log文件中,然后控制台通过实时获取这个文件的内容进行显示打印信息。

  但有时我们希望不需要链接xcode在手机上直接查看日志信息,这个时候我们就需要将log日志的位置调整到我们想要的指定位置。

  好处:

  这样调整的好处是我们可以自定义一个textview来读取log日志内容,通过某种方式触发(比如摇晃),来将实时的日志直接像是到手机上。

  也可以通过后台接口上传log日志,收集log信息。

  坏处:

  一旦log日志重定向后,在链接xcode进行调试时,xcode就不会再打印log信息。(我猜测应该是xcode找不到log日志文件了)

  但是可以通过关闭重定向代码,重新编译让其恢复原来的位置,这样xcode就可以再次显示log日志内容了。

2、方法:  

   NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *document = [path objectAtIndex:0];
    NSString *fileName = [NSString stringWithFormat:@"drz.log"];
    NSString *logPath = [document stringByAppendingPathComponent:fileName];

    NSFileManager *defaulManager = [NSFileManager defaultManager];
    [defaulManager removeItemAtPath:logPath error:nil];

    freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stdout);//log
    freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding], "a+", stderr);//error

3、写了一个简单的view,通过摇晃启动。(注意:在打正式包前一定要移除或者将启动代码注释掉)ZZLogManager 一个基本的log类,摇晃手机唤醒。

时间: 2024-10-07 04:11:07

log日志重定向的相关文章

ios 将Log日志重定向输出到文件中保存

对于真机,日志没法保存,不好分析问题.所以有必要将日志保存到应用的Docunment目录下,并设置成共享文件,这样才能取出分析. 首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中. 例子: freopen("xx.log","a+",stdout); freopen("xx.log","a+&q

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

SecurityCRT输出日志重定向

使用CRT进行抓取log,因为工具本省缓冲区有限,导致,刷屏特别快,可能会错过一些log,可以对CRT的log进行增加输出源,或者说将输出到控制台的log再输出到本地文件中: 文件->点击(勾选)日志文件:这个选项代表打出到控制台的日志将会输出到日志文件中: 选项->会话选项->终端->日志文件:指定输出文件路径以及名称: 如此配置,就可以将log输出到指定的文件中了. SecurityCRT输出日志重定向,布布扣,bubuko.com

Python Django log日志

log日志 log开发日志 一.创建项目 1.python -m venv ll_env # 创建虚拟环境 2.source ll_env/bin/activate # 激活虚拟环境 3.pip install django # 安装django 4.django-admin.py startproject project . # 创建项目 5.python manage.py migrate # 创建数据库 6.python manage.py runserver # 测试项目 二.创建应用程

Android学习笔记——log无法输出的解决方法和命令行查看log日志

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3983936.html. 知识点 1.log无法输出的解决方法 2.通过命令行(command line)查看Android调试的log日志 log无法输出的解决方法 今天调试Android程序,发现Eclipse不输出log日志了.这让我很烦恼,程序调试的log都没法看到了.Google搜索了一些资料.发现stackoverflow上有很

捕获异常、存sd卡、封装请求头体、加密map值、网络工具类、生成Json、Https协议、传log日志到服务器、app崩溃友好重启

点击打开链接,免积分下载 在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器.然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常. 在Android开发中,常常会出现uncheched Exception 导致程序的crash,为了提供良

LISTENER.LOG日志大小不能超过2GB

oracle 11G  windows 2008系统  造成了监听死锁 报TNS-00505: 操作超时 最后分析 发现 LISTENER.LOG日志大小超过2GB 解决方案: cd$ORACLE_HOME/network/log lsnrctlset log_status off mvlistener.log listener.bak lsnrctlset log_status on 以下是我在gdimall2上的一个操作记录: 首先改变监听的日志记录状态: $lsnrctlset log_s

【个人使用.Net类库】(2)Log日志记录类

开发接口程序时,要保证程序稳定运行就要时刻监控接口程序发送和接收的数据,这就需要一个日志记录的类将需要的信息记录在日志文件中,便于自己维护接口程序.(Web系统也是如此,只是对应的日志实现比这个要复杂一点). 刚开始考虑的比较少,没有加入控制日志文件数量的功能.运行了一段时间,文件夹内的Log文件如下所示: 如果是这样,那运行一年不就三百多个日志文件了,想一想这太可怕了.通过查找资料,发现.Net中的FileInfo存有文件的信息(包括名称,创建时间,文件大小等),那就自己定义一个文件比较器实现

Nginx Access Log日志统计分析常用命令

Nginx Access Log日志统计分析常用命令 Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时间段的IP访问量(4-5点) grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l 查看访问最频繁的前100