iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)

原创 2016年09月01日 22:46:16

CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话,先上图:

这里写图片描述

从上图上看控制台的日志输出不仅仅只有默认的黑色了,而是根据日志等级的不同带有不同的颜色,这样即让我们的编程变的步那么无聊,又让我们能更加清晰的对日志等级做出区分,下面来详细介绍一下应该如何应用:

安装XcodeColors

关于安装XcodeColors相关的介绍我在之前的博客中已经写过了,大家可以去我之前的博客上去查看,传送门

关于XcodeColors的一些配置问题

  1. XcodeColors是否安装成功:

    关于是否安装成功可以通过安装好的的Alcatraz - 插件管理工具去查看是否安装成功,如果如下图所示说明安装成功:

    这里写图片描述

    或者去~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin这个文件目录下查看是否有XcodeColors的插件包。

  2. 配置XcodeColors的Xcode环境:

发现安装好之后并没有生效,那说明你的Xcode环境还没有配置好,根据下图流程配置好XcodeColors的Xcode环境就可以使用了:

这里写图片描述

进入后在需要下图的模式下加入环境变量 XcodeColors:YES

这里写图片描述

到这里就大功告成了,下面我们把CocoaLumberjack导入我们的工程中就能使用了。

使用CocoaLumberjack

首先我们使用pod导入CocoaLumberjack,再你的Podfile文件中加入下面一行代码pod 'CocoaLumberjack/Swift',然后执行pod install的命令,完成后你的工程中就有CocoaLumberjack了。

  1. 首先我们要配置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)
    }
  1. 然后我们写一个名叫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!")

这里写图片描述

以上就是关于这篇博客主要要讲的知识,自己用着挺方便,希望大家能学到东西,如果有需要改进的地方,希望大家能及时告诉我,谢谢大家的阅读~

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wang631106979/article/details/52404094

深入浅出 CPropertySheet

 深入浅出 CPropertySheet译者:徐景周(原作:Mustafa Demirhan)为了最大限度的发挥属性页的效用,首先让我们先从 CPropertySheet 继承一个新类,取名为 CMy...
  • jz_x
  • jz_x
  • 2002-08-28 12:00:00
  • 832

iOS开发之日志框架CocoaLumberjack的配置与使用详解

源码地址: 点击打开链接 1. CocoaLumberjack这个框架是做什么的?   CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumb...
  • zhonggaorong
  • zhonggaorong
  • 2016-06-13 14:00:06
  • 8348

CocoaLumberjack 学习总结(一)

第一:下载并安装XcodeColors。 第二:引入第三方库CocoaLumberjack。 第三:把下载库文件夹及子文件夹的文件加入工程(CocoaLumberjack-master/Class...
  • binglan520
  • binglan520
  • 2016-03-09 14:48:50
  • 704

swift学习日志—— Log日志

Log 输出是程序开发中很重要的组成部分,虽然它并不是直接的业务代码,但是却可以忠实地反映我们的程序是如何工作的,以及记录程序运行的过程中发生了什么。在OC中的Log日志设置请看我的另一篇博客:设置L...
  • jaccty
  • jaccty
  • 2015-12-31 11:55:09
  • 1522

iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)

CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话,...
  • wang631106979
  • wang631106979
  • 2016-09-01 22:46:16
  • 2520

CocoaLumberjack的ios应用开发使用指南

CocoaLumberjack支持ios日志文件异步记录,日志文件覆盖保存,5级别日志记录,xcode的彩色日志,作者经常维护更新,大部分的日志都基于该架构,但存在使用极为困难的问题。现总结一下使用心...
  • jia12216
  • jia12216
  • 2015-03-18 16:11:58
  • 2788

iOS开源项目之日志框架CocoaLumberjack的使用

CocoaLumberjack是Mac和iOS上一个集快捷、简单、强大和灵活于一身的日志框架。CocoaLumberjack类似于流行的日志框架(如log4j),但它是专为Objective-C设计的...
  • xinxing260
  • xinxing260
  • 2014-12-11 14:08:38
  • 465

iOS第三方库-CocoaLumberjack简单介绍

发现一个,很厉害的小工具,让xCode控制台输出文本有颜色! 闲话不说,上代码。 大概需要三个步骤: 一、安装xCode扩展插件XcodeColors。 二、引入第...
  • m18510011124
  • m18510011124
  • 2015-03-07 12:01:02
  • 518

iOS开发--使用CocoaLumberjack-DDLog

DDlog库可以让Xcode的输出台变得五彩缤纷,同时可以控制打印的开关.对于调试很是方便.   下面介绍一下安装方法.     一、安装xCode扩展插件XcodeColors     1.下载...
  • u013101843
  • u013101843
  • 2014-12-20 23:26:50
  • 2293

CocoaLumberjack开发指南

CocoaLumberjack支持ios日志文件异步记录,日志文件覆盖保存,5级别日志记录,xcode的彩色日志,作者经常维护更新,大部分的日志都基于该架构,但存在使用极为困难的问题。现总结一下使用心...
  • alinagebaba
  • alinagebaba
  • 2015-09-08 13:49:23
  • 469
收藏助手
不良信息举报
您举报文章:iOS开发进阶 - 日志输出框架CocoaLumberjack与XcodeColors插件的简单使用(swift版)
举报原因:
原因补充:

(最多只允许输入30个字)