NSLog (Log信息的输出)

概述

NSLog是 cocoa的框架中提供的一个方法

  

NSLog的定义

NSLog定义在NSObjCRuntime.h中

  

NSLog与printf的差异

        1)NSLog传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针
        2)NSLog会自动换行,printf不会自动换行
        3)NSLog会自动输出时间等项目信息,printf不会输出调试信息

  

NSLog格式化输出的问题

        int a= 5;
        float f1 = 2.3f;
        double d1= 3.14;
        char ch =‘X‘;

        NSLog(@"%d,%.2f,%.2f,%c",a,f1,d1,ch);

        NSLog(@"-->%s",str);//这种%s 不支持

        NSString *str1= @"张三丰";

        NSLog(@"%@",str1);//OC中用%@输出字符串

    注释及 @符号的使用

        @"" 这个符号表示将一个C的字符串转化为OC中的字符串对象NSString
        @标识符 OC中大部分的关键字都是以@开头的, 比如 @interface, @implemenetation, @en @class等

  

时间: 2024-10-03 15:17:36

NSLog (Log信息的输出)的相关文章

没有USB线连接PC的情况下,通过WIFI ADB的方式查看LOG信息

最近公司给了一项任务,APP需要手机外置一个USB摄像头,这下造成的问题就是,手机外置了其他USB设备后,手机不能与PC连接,也就不能在PC端通过Eclipse等查看Log信息,调试起来特别麻烦,因为即使程序蹦了,你看不到Log也不知道程序崩溃的原因. 正好有一个同事是搞linux底层的,他说可以通过wifi adb的方式来查看log.意思就是手机通过wifi与PC端处于同一网段内,然后用adb命令远程连接手机,然后就可以无线查看手机端的log信息了. 这种方式需要一个必要条件: 手机端要与PC

关于在Eclipse下logcat无法输出log信息的问题

问题陈述: 在Eclipse中设置Log信息输出的时候,无论自己怎么设置都无法 输出log信息.最初尝试了各种各样的方法,均以失败结尾. 重启Eclipse 在DDMS下Reset adb 在DDMS下点击运行的device,重新获取焦点 在DDMS下debug相应的进程,也就是我们应用程序对应的 ······ 解决方法: 无意间在网上找到了解决方法,很是激动,尝试了一番,哎哟,成功了. 问题原来出在LogCat配置里默认是Error,这自然就无法输出低于该等级的日志了.稍加修改即可. 不过LZ

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

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

java log日志的输出。

在Spring框架中添加日志功能: pom.xml 1<dependency> 2 <groupId>log4j</groupId> 3 <artifactId>log4j</artifactId> 4 <version>1.2.17</version> 5</dependency> web.xml 1 <!-- 启动log --> 2 <servlet> 3 <servlet-n

java,安卓之信息的输出

Android中实现信息的输出 java一般的打印办法为System.out.println("");J2ME也是,在ide的控制台就可以看到效果. 但是android平台,System.out.println("");你是看不到打印的消息的.因为android提供的打印方法为,Log.v,该对象需要导入 import android.util.Log;,然后就可以使用了.察看效果的地方,也不在ide的console面板中,而在android提供的log面板中,可以

NSLog打印信息的从新设置

前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,针对这种问题可以写一些宏来控制这些调试信息的输出. 在release版本禁止输出NSLog内容 因为NSLog的输出还是比较消耗系统资源的,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉. 我们可以在发布版本前先把所有NSLog语句注

sas,log,output,ods输出管理

1:改变log输出到指定外部文件 log一般输出在log窗口,使用printto过程可以改变其默认输出位置 proc printto log = "d:\log.txt" new; *将log输出到指定的文件中,new表示每次覆盖上一次,更多信息到时候查看帮助文档; proc print data=sashelp.class; proc printto; run; *恢复默认log输出; 2:改变output输出到指定外部文件??? proc printto print='e:\log

Android将应用log信息保存文件

相信大家在做应用调试的时候,不可能时时通过USB线连着电脑去查看log信息,所以,将应用的log信息保存到手机本地就很有必要了,有助我们从这些log信息中提取有用的部分,以解决一些bug,下面我把网上分享的代码中作了一些精简,作为开发者使用,个人觉得没必要通过用户上传给我们,用户上传的不需要这么庞大的log信息,仅仅那部分崩溃的log信息即可,可参考我的另外一篇blog:http://blog.csdn.net/weidi1989/article/details/7927273. 好了,废话不多

Android显示Log信息(带行号,类名,方法名)

package com.dylan.testlog; import android.util.Log; public class MyLogger { // private static final String TAG = "MyLogger"; public static boolean DEBUG = true; /** * 显示Log信息(带行号) * @param logLevel 1 v ; 2 d ; 3 i ; 4 w ; 5 e . * @param info 显示的