iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)
CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话,先上图:
从上图上看控制台的日志输出不仅仅只有默认的黑色了,而是根据日志等级的不同带有不同的颜色,这样即让我们的编程变的步那么无聊,又让我们能更加清晰的对日志等级做出区分,下面来详细介绍一下应该如何应用:
安装XcodeColors
关于安装XcodeColors相关的介绍我在之前的博客中已经写过了,大家可以去我之前的博客上去查看,传送门
关于XcodeColors的一些配置问题
XcodeColors是否安装成功:
关于是否安装成功可以通过安装好的的Alcatraz - 插件管理工具去查看是否安装成功,如果如下图所示说明安装成功:
或者去
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin这个文件目录下查看是否有XcodeColors的插件包。配置XcodeColors的Xcode环境:
发现安装好之后并没有生效,那说明你的Xcode环境还没有配置好,根据下图流程配置好XcodeColors的Xcode环境就可以使用了:
进入后在需要下图的模式下加入环境变量 XcodeColors:YES
到这里就大功告成了,下面我们把CocoaLumberjack导入我们的工程中就能使用了。
使用CocoaLumberjack
首先我们使用pod导入CocoaLumberjack,再你的Podfile文件中加入下面一行代码pod 'CocoaLumberjack/Swift',然后执行pod install的命令,完成后你的工程中就有CocoaLumberjack了。
- 首先我们要配置CocoaLumberjack的相关参数,代码如下:
/**
配置DDLog相关参数
*/
class func configDDLog() {
//让日志只在debug时输出
#if DEBUG
defaultDebugLevel = .Verbose
#else
defaultDebugLevel = .Off
#endif
//添加发送日志语句到苹果的日志系统
DDLog.addLogger(DDASLLogger.sharedInstance())
//添加发送日志语句到Xcode控制台
DDLog.addLogger(DDTTYLogger.sharedInstance())
//允许控制台带颜色
DDTTYLogger.sharedInstance().colorsEnabled = true
//设置Info下为蓝色
DDTTYLogger.sharedInstance().setForegroundColor(UIColor.blueColor(), backgroundColor: UIColor.whiteColor(), forFlag: .Info)
}
- 然后我们写一个名叫AppLog.swift文件封装一下CocoaLumberjack的方法来调用日志输出功能,这样我们只用
import CocoaLumberjack一次就行了,代码如下:
import Foundation
import CocoaLumberjack
/**
得到输出的字符串的格式
- parameter message: 日志消息的主题
- parameter file: 日志消息所在的文件,方便调试定位用
- parameter function: 日志消息所在的方法,方便调试定位用
- parameter line: 日志消息所在的方法中的行数,方便调试定位用
- returns: 返回输出的日志字符串
*/
private func getMessage(message: String, file: StaticString , function: StaticString , line: UInt ) -> String {
//初始化需要返回的字符串
var returnMessage:String = ""
//通过file获取文件的名称
if let className = file.stringValue.componentsSeparatedByString("/").last {
//拼接字符串
returnMessage = "\n" +
"className:\(className)\n" +
" function:\(function)\n" +
" ine:\(line)\n" +
" message:\(message)"
}else {
//拼接字符串
returnMessage = "\n" +
" function:\(function)\n" +
" ine:\(line)\n" +
" message:\(message)"
}
return returnMessage
}
/**
输出Info等级的日志消息
*/
public func LogInfo(message: String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) {
DDLogInfo(getMessage(message, file: file, function: function, line: line))
}
/**
输出Error等级的日志消息
*/
public func LogError(message: String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) {
DDLogError(getMessage(message, file: file, function: function, line: line))
}
/**
输出Debug等级的日志消息
*/
public func LogDebug(message: String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) {
DDLogDebug(getMessage(message, file: file, function: function, line: line))
}
/**
输出Warn等级的日志消息
*/
public func LogWarn(message: String, file: StaticString = #file, function: StaticString = #function, line: UInt = #line) {
DDLogWarn(getMessage(message, file: file, function: function, line: line))
}
这样我们调用这些全局的方法就打印相关的日志消息了:
LogInfo("WCL, Hello world!")
LogError("WCL, Hello world!")
LogDebug("WCL, Hello world!")
LogWarn("WCL, Hello world!")
以上就是关于这篇博客主要要讲的知识,自己用着挺方便,希望大家能学到东西,如果有需要改进的地方,希望大家能及时告诉我,谢谢大家的阅读~
iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)的更多相关文章
- iOS开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍 图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网 ...
- iOS开发进阶
<iOS开发进阶>基本信息作者: 唐巧 出版社:电子工业出版社ISBN:9787121247453上架时间:2014-12-26出版日期:2015 年1月开本:16开页码:268版次:1- ...
- iOS开发之常用第三方框架(下载地址,使用方法,总结)
iOS开发之常用第三方框架(下载地址,使用方法,总结) 说句实话,自学了这么久iOS,如果说我不知道的但是又基本上都摸遍了iOS相关知识,但是每次做项目的时候,遇到难一点的地方或者没试过的东西就闷了. ...
- Android &Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- log4j日志输出框架
什么是log4j框架呢? log4j是一个日志输出框架,用于输出日志的.比如MyBatis的日志就是通过log4j输出的,主流框架都是log4j输出的,Spring框架 也可以通过log4j输出日志! ...
- iOS开发进阶(唐巧)读书笔记(一)
如何提高iOS开发技能 1.阅读博客:https://github.com/tangqiaoboy/iOSBlogCN 40多位iOS开发博主的博客地址 2.读书:每年阅读一本高质量的iOS开发书籍 ...
- IOS开发人员经常使用的10个Xcode插件
IOS开发人员经常使用的10个Xcode插件 申请达人,去除赞助商链接 一个合适的插件意味着它能够适应不同的开发环境,Sublime Text 和TextMate就是非常好的样例.你知道Xcode也支 ...
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...
- iOS开发UI篇—Date Picker和UITool Bar控件简单介绍
iOS开发UI篇—Date Picker和UITool Bar控件简单介绍 一.Date Picker控件 1.简单介绍: Date Picker显示时间的控件 有默认宽高,不用设置数据源和代理 如何 ...
随机推荐
- Android 4.4 (KitKat) SMS Apis Change——Android 4.4的一个重大变化
Android团队通过Android开发博客透漏今年会放出Android 4.4 (KitKat) ,同时更新了 SMS 的部分API.博客上讲只有default SMS app才能对短信数据库有写权 ...
- 面试10大算法汇总——Java篇
问题导读 1 字符串和数组 2 链表 3 树 4 图 5 排序 6 递归 vs 迭代 7 动态规划 8 位操作 9 概率问题 10 排列组合 11 其他 -- 寻找规律 英文版 以下从Java角度解释 ...
- OpenvSwitch自动化重新编译和安装
相信使用过OpenvSwitch的人都知道,OpenvSwitch因为要替换一部分linux内核,所以在修改OpenvSwitch源码的时候,每次都需要重新编译和安装,这个过程十分的机械和枯燥,所以写 ...
- AngularJS 讲解,一 数据绑定
AngularJS 完全使用javascript 编写的客户端技术.通过原生的Model-View-Controller(MVC,模型视图控制器)功能增强了HTML.这个选择可以快捷和愉悦地构建出 ...
- C# 计算每周和每月固定日期
最近发现写程序不是简单的实现功能,过程中偶尔伴随者一点小小的算法,比如排序算法,比如周期性的数据等等,发现算法不仅仅需要考虑全面,而且要计算简便.性能优良,而我远远没有达到要求! 一:周.月固定日期 ...
- java汉字转拼音的工具类
import com.google.common.base.Strings;import net.sourceforge.pinyin4j.PinyinHelper;import net.source ...
- svn 插件去除已经保存的密码方法
删除掉C:\Documents and Settings\hao\Application Data\Subversion\auth\svn.simple文件夹下的文件即可. 再次访问时,会弹出要求输入 ...
- 第一个Gradle入门程序
参考:http://www.importnew.com/15881.html 准备工作 1.gradle编译环境 下载gradle编译包(http://www.gradle.org/downloads ...
- HDU 1233 还是畅通工程(Kruskal)
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...
- Centos7 下Boost 1.61.0源码 配置开发环境
1 下载地址 https://sourceforge.net/projects/boost/files/boost/1.61.0/ boost_1_61_0.tar.gz 2 卸载系统自带的boost ...