Swift 中调试状态下打印日志

首先我们应该知道Swift中真个程序的入口就是在AppDelegate.swift中。所以在打印日志在 AppDelegate.swift中是这样的

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        DLLog("你好")

        return true
    }

}
// 把要打印的日志写在和AppDelegate同一个等级的方法中,即不从属于AppDelegate这个类,这样在真个项目中才能使用这个打印日志,因为这就是程序的入口,
//这里的T表示不指定message参数类型
func DLLog<T>(message: T, fileName: String = __FILE__, funcName: String = __FUNCTION__, lineNum : Int = __LINE__) {

    #if DEBUG
        /**
         * 此处还要在项目的build settings中搜索swift flags,找到 Other Swift Flags 找到Debug
         * 添加 -D DEBUG,即可。
         */
         // 1.对文件进行处理
        let file = (fileName as NSString).lastPathComponent
        // 2.打印内容
        print("[\(file)][\(funcName)](\(lineNum))\(message)")

    #endif

}

打印的类型是:[AppDelegate.swift][application(_:didFinishLaunchingWithOptions:)](19)你好 

分别是文件 方法名 行号  内容

其次,还应该处理的一点是,如图所示(其实在代码里已经说明了)

这样完整的调试状态下的log日志就完成了

时间: 2024-10-12 05:39:41

Swift 中调试状态下打印日志的相关文章

Windows服务调试状态下用Console启动

最近一直在用服务,发现服务也没有那么难调试. Windows服务调试状态下用Console启动:步骤分两步 第一步改Program,启动代码 static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> static void Main(string[] args) { if (Environment.UserInteractive) { //交互模式下执行 var test = new MyChatServi

普通Java项目中使用Sl4j+Log4j2打印日志

因工作需要,采用JavaFx开发了一个windows窗口程序.在开发过程中,由于没有引入日志框架,只能自己手动在控制台打印些信息,给调试带来了很多麻烦:因此决定引入日志框架.由于之前接触的项目大部分都是javaWeb项目,web项目的日志输出已经难不倒我了.但普通java项目日志输出配置还是第一次接触,因此记录下整个过程,方便后续借鉴. 技术概述:采用Sl4j作为日志门面,Log4j2作为日志输出的具体实现:同时结合lombok插件,减少代码的书写. 一.相关Maven依赖 由于copy jar

如何模块化swift中的状态?

本文和大家分享的主要是模块化swift中状态相关内容,一起来看看吧,希望对大家学习swift有所帮助. 在构建应用或设计系统的时候,最困难的事情之一就是如何建模并处理状态.当应用的某些部分处于我们意料之外的状态时,管理状态的代码也是一个非常常见的 bug 来源. 这周,让我们看一看能更容易处理并响应状态改变的编码技术 - 让代码更加强壮,不容易出错.在本文中,我不会讨论具体的框架或者更大的应用程序架构范围的更改(比如 RxSwift.ReSwift 或者使用 ELM 风格的架构,我会在之后讨论它

02_JNI中Java代码调用C代码,Android中使用log库打印日志,javah命令的使用,Android.mk文件的编写,交叉编译

?? 1  编写以下案例(下面的三个按钮都调用了底层的C语言): 项目案例的代码结构如下: 2 编写DataProvider的代码: package com.example.ndkpassdata; public class DataProvider { /** * 计算x和y的加法  apktools * * @param x * @param y * @return */ public native int add(int x,int y); /** * 给字符串后面拼接字符串   加密运算

as调试状态下输出程序运行堆栈

在调试as代码时,有时候想查看下特定行的程序运行堆栈,这时可以在特定行加入如下代码: var error:Error = new Error(); trace("call stack:" + error.getStackTrace()); 即创建一个错误,来获取当前程序的运行时堆栈,并输出至命令行.

VS 通过局域网访问调试状态下的web应用程序

1.点击vs的启动按钮 2.在任务栏找到IIS Express的图标,点击"显示所有应用程序" 3.如果只有本地localhost访问方式,点击对应应用程序的本地URL,就会显示对应的配置文件 4.点击"配置"路径,修改对应网站名称的绑定地址 5.在防火墙添加入站规则,添加端口(上面配置文件绑定的端口,如2860) 6.以管理员身份重启vs,运行程序,可以看到绑定的ip,并可以在局域网内访问了 原文地址:https://www.cnblogs.com/heiao10

【转】MFC中调试过程中查看输出信息 -- 不错

原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在eclipse中调试web项目的时候如何把web项目分配给配置好的服务器

举个例子,我今天在做spring和struts2整合的例子 新建项目blk 1.配置好web.xml,struts.xml,applicationContext.xml,写好jsp页面 2.把struts2.spring整合需要的jar包(struts核心jar包,spring核心jar包以及struts-spring-plugin.jar.commons-logging.jar)放到你项目的WEB-INF/lib目录下 3.写好java代码,并把java代码编译后的class文件拷贝到WEB-

Android LogUtils打印日志工具类

LogUtils打印日志工具类 这是一个从XUtils3中摘抄出来的打印日志工具类.这个类打印日志比较详细,可以打印类名.方法名.isDebug为打印日志开关,初始化的时候可以使用LogUtils.isDebug(boolean b)来控制开关状态. public class LogUtils { public static String customTagPrefix = "x_log"; private static boolean isDebug = true; private