自定义Log实现条件编译】的更多相关文章

在项目pch中添加以下代码,其中DEBUG为Xcode项目自带的宏,存在时表示当前为调试状态,否则为发布状态.故当在发布状态时,通过自定义TestLog所使用的NSLog调试信息,都会被预编译替换为空. #ifdef DEBUG //调试阶段 #define TestLog(...) NSLog(__VA_ARGS__) //自定义Log #else //发布阶段 #define ALLog(...) #endif…
Swift中的自定义Log OC中有宏的定义,可以定义自己的Log,但是Swif中没有宏的定义,想要实现类似OC中的自定义Log,必须实现以下操作 1.在AppDelegate.swift文件中定义一个方法,在类的大括号以外定义(这样就是全局的一个方法,项目中全世界可用) // 自定义print func ChaosLog<T>(message: T, fileName: String = __FILE__, methodName: String = __FUNCTION__, lineNum…
1.在Xcode 8出来之后,需要我们去关闭多余的日志信息打印 2.在开发的过程中,打印调试日志是一项比不可少的工程,但是在iOS 10中NSLog打印日志被屏蔽了,就不得不使用自定义Log 3.去掉xcode8的日志打印:Edit->Run->ENvironment variables -->添加OS_ACTIVITY_MODE 设置值为disable common 加 = 让图片大小按尺寸适应 (快捷键) sudo /usr/libexec/xpccachectl  + 重启电脑  …
系统如何调用super方法 系统默认只会在构造函数中,自动调用super.init()方法,而且是在所写方法的尾部进行调用. 在其他函数中,如何需要调用父类的默认实现,都需要手动去实现. 如果在构造函数中使用KVC,一定要先调用父类的super.init()方法. 自定义Log的方法 以下语法为swift3的最新语法 获取打印所在的文件 let file = (#file as NSString).lastPathComponent 获取打印所在的方法 let funcName = #funct…
goaccess 支持强大的自定义log 格式,比如我们需要分析iis w3c 格式日志 参考iis w3c 字段 date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken 对应log format 定义 log-format %d %t %^ %m %U %q %^ %^ %h…
打印内容包括 在哪个文件中 ? 在哪个方法中? 将要执行什么操作?   // 此打印实现前提: // 1.在.pch文件中实现自定义log打印方法,log名换为LCLog // 2.定义一个宏object @“类名” XYLog(@"执行操作: <#option#> , 方法名:%@, 类名:%@", NSStringFromSelector(_cmd), object); .pch中实现: // 在这里自定义log #ifdef DEBUG #define XYLog(.…
import UIKit /* 总结:1:let file = (#file as NSString).lastPathComponent,#file获取的是打印所在的文件 的全路径,转成NSString才能调用lastPathComponent获取的是路径最后的.后面的元素,as NSString转成NSString类型 2:let funcName = #function,获取打印所在的方法 3:let lineNum = #line,获取打印所在行数 4:拼接字符串的时候,可以用Strin…
Laravel Exception结合自定义Log服务的使用 第一部分:laravel关于错误和异常的部分源码 第二部分:自定义异常的使用(结合serviceprovider monolog elasticsearch) 过程中涉及到的重要函数请自行查看手册 error_reporting set_error_handler set_exception_handler register_shutdown_function error_get_last laravel v6.18.40 源码部分…
之前在帮TCL运维项目时,因某些原因,决定单就经销商相关业务中摒弃经典的log4j日志,改为每日自定义生成并写入相关日志,我遂写了一个util,代码如下:p.s.实现的思路很简单,仅为每次需要记录时,调取util中方法,若当日的日志文件不存在,则创建,存在,则追加log内容. package com.aebiz.b2b2c.baseframework.utils; import java.io.File; import java.io.FileWriter; import java.io.IOE…
1. 用宏定义调试用的DPRINT #define DEBUG_ENABLE #ifdef DEBUG_ENABLE #define DPRINT(fmt, args...) fprintf(stderr, "[DPRINT...][%s %d] "fmt"\n", __FILE__, __LINE__, ##args); #else #define DPRINT(fmt, ...) #endif 发布时,将#define DEBUG_ENABLE去掉即可 2. 自…