IOS应用中使用SimpleLogger日志分类

移动开发 iOS
本文介绍的是IOS应用中使用SimpleLogger日志分类,主要介绍了IOS应用程序中的日志分类实例,来看内容。

IOS应用中使用SimpleLogger日志分类是本文要介绍的内容,主要实现IOS中的日志分类一个实例,那么来看详细内容。

在坛子里看到一篇IOS日志管理的内容,与友们来分享一下。之前做java的时候一直用Log4j做日志的分类,但是现在做iphone有一段时间了,一直用NSLog做日志,但是我们在开发过程中需要一些强大的日志功能,例如对日志level的控制,对行号和文件名的打印等等。有一个开源的Log4Cocoa。

学习Object-C 和 iPhone也有将近两个月了,几乎任何讲Object-C的书第一章就会用到NSLog这个函数,这个函数可以向Console输出一些信息,方便我们跟踪程序的运行过程。可是我在做一些iPhone的开发的时候,却需要一些稍微强大的日志功能,譬如文件名,行号,对一些日志Level的控制。我在Google上找了一下,有个Log4Cocoa的,好像是想做成Log4j的功能。可是我平时的需求不需要那么强大,而且我很不喜欢杀鸡用牛刀,于是我自己写了一个简单的日志库SimpleLogger。

其实这个不能算库,说白了就是SimpleLogger.h和SimpleLogger.m两个文件,够简单吧。我定义了一些常用的宏,譬如DEBUG, ENTER, RETURN,大家可以看源代码,也可以直接看MyLogger.m的示例,就知道怎么用了。这个日志库可以支持iPhone和MacOSX的开发,不过它不是线程安全的(iPhone没有这个问题)。

[使用方法]    

先看看下面的代码:

  1. #import <Foundation/Foundation.h>     
  2. #import "SimpleLogger.h"     
  3.     
  4. int testLogger()     
  5. {     
  6.     ENTER(@"testLogger()");     
  7.     int rst = 10;     
  8.     RETURN(-rst, @"%d", -rst);     
  9. }     
  10.     
  11. int main (int argc, const char * argv[]) {     
  12.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];     
  13.     [SimpleLogger getLogger];     
  14.          
  15.     //insert code here     
  16.     int i = 10;     
  17.     INFO(@"i is %d", i);     
  18.     i = -100;     
  19.     INFO(@"i is %d", i);            
  20.     testLogger();     
  21.     [pool drain];     
  22.     [[SimpleLogger getLogger]release];     
  23.     return 0;      
  24. }    
  25.  
  26. #import <Foundation/Foundation.h> 
  27. #import "SimpleLogger.h"  
  28.  
  29. int testLogger()  
  30. {  
  31.     ENTER(@"testLogger()");  
  32.     int rst = 10;  
  33.     RETURN(-rst, @"%d", -rst);  
  34. }  
  35.  
  36. int main (int argc, const char * argv[]) {  
  37.     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  38.     [SimpleLogger getLogger];  
  39.       
  40.     //insert code here  
  41.     int i = 10;  
  42.     INFO(@"i is %d", i);  
  43.     i = -100;  
  44.     INFO(@"i is %d", i);         
  45.     testLogger();  
  46.     [pool drain];  
  47.     [[SimpleLogger getLogger]release];  
  48.     return 0;   

使用方法也非常简单

(1)把SimpleLogger.h和SimpleLogger.m加到你的项目中

(2)调用[[SimpleLogger getLogger]setLogLevelSetting:SOME_LEGEL];(可选的,默认是SLLE_MAJOR)

(3)最后调用[[SimpleLogger getLogger]release]

(4)常用方法:

  1. ENTER(@"method name");       
  2. INFO(@"The count of array is %d", [array count]);       
  3. DEBUG(@"The person's name is %@", person.name);       
  4. ERROR(@"Impossible get into this branch");       
  5. RETURN(rst, @"%d", rst); //rst就是返回值      
  6.  LOG(SLL_DETAILED, @"This log is very detailed with value %d", value);       
  7.  [[SimpleLogger getLogger]setLogLevelSetting:SLLS_MINOR]; //设置日志级别  

下载类库:http://wangjun.easymorse.com/wp-content/tools/SimpleLogger.zip

MyLogger.tar:http://dl.iteye.com/topics/download/2898cb63-c4c6-3042-be73-2e173cac2a64

小结:iOS应用中使用SimpleLogger日志分类的内容介绍完了,希望本文对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2012-02-13 14:22:22

MonoTouchiOS应用Visual Stud

2011-07-18 10:00:47

iPhone iOS Visual Stu

2012-02-13 14:10:11

MonoTouchiOS应用Visual Stud

2011-07-18 10:21:04

iOS Visual Stu iphone

2015-09-01 10:32:11

2015-09-01 14:29:33

2011-09-02 19:24:20

SqliteIOS应用数据库

2014-12-22 09:51:06

Linuxlogwatch

2022-05-11 10:58:11

MetricKitiOS13系统崩溃诊断

2011-08-17 14:57:31

iPhone应用视频播放

2021-02-25 11:19:37

谷歌Android开发者

2012-05-04 23:15:43

iOS

2022-02-08 17:07:54

Spring BooSpring Aop日志记录

2011-09-06 16:30:32

iOS系统静态链接库

2009-09-22 12:17:59

ibmdwLotus

2022-09-26 12:28:16

OpenGLAPI使用移动应用

2023-12-22 09:11:45

AndroidNFC移动开发

2016-08-11 10:43:56

2011-08-08 13:26:48

iOS开发 Twitter

2021-12-24 08:55:58

苹果 iOS 15 SwiftUI
点赞
收藏

51CTO技术栈公众号