Swift - 实现日志输出的封装1(显示出调用的文件名、方法、行号)
来源:互联网 发布:淘宝新品怎么推广 编辑:程序博客网 时间:2024/04/30 13:07
在开发调试程序时,我们少不了使用 print 方法进行日志打印。当然简单地调试使用 print 方法就够了,但如果日志输出的地方很多,就不好区分出每条日志具体是在哪里打印的。
本文对日志打印功能做个封装,自动实现日志信息的格式化。
1,效果图
从下图可以看出,控制台除了输出我们指定的日志内容外,还会自动记录日志触发点的文件名、函数名、行号。
2,日志封装代码
由于 Swift 支持全局函数,全局函数可以在当前所在的命名空间下随意调用。所以我们只需要定义一个全局函数即可。
1
2
3
4
5
6
7
8
9
10
//封装的日志输出功能(T表示不指定日志信息参数类型)
func
HGLog
<
T
>(_ message:
T
, file:
String
= #file, function:
String
= #function,
line:
Int
= #line) {
#
if
DEBUG
//获取文件名
let
fileName = (file
as
NSString
).lastPathComponent
//打印日志内容
print
(
"\(fileName):\(line) \(function) | \(message)"
)
#endif
}
3,使用样例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import
UIKit
class
ViewController
:
UIViewController
{
override
func
viewDidLoad() {
super
.viewDidLoad()
HGLog
(
"程序启动!"
)
doSomething()
}
func
doSomething() {
HGLog
(
"欢迎访问hangge.com"
)
}
override
func
didReceiveMemoryWarning() {
super
.didReceiveMemoryWarning()
}
}
原文出自:www.hangge.com 转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1417.html
0 0
- Swift - 实现日志输出的封装1(显示出调用的文件名、方法、行号)
- C语言实现日志封装--能输出调用函数、文件名、行号
- c语言日志封装-输出文件名、函数名、行号
- 调用COM对象的GetWallpaper()方法。 如果GetWallpaper()成功,则输出/显示墙纸文件名
- 打印出当前文件的文件名和当前行号
- C++显示调用函数和行号文件名
- Android Log日志的封装类,显示类名以及行号,快速定位
- Android Log日志的封装类,显示类名以及行号,快速定位
- JCreator显示行号的方法
- 带文件名和行号的信息输出宏
- pycharm显示不出文件名的解决办法
- Java入门学习:实现日志方法(记录代码文件名,类名,方法名,行号)
- 【Log日志】一个封装的日志打印库(显示类,方法,行数)--破晓觉醒
- Log4j是输出日志时是如何获知当前方法、行号的
- Log 使用以及输出行号的方法
- mysql 实现行号的方法
- mysql 实现行号的方法
- winform 中要让 DataGridView 显示出每行的行号来
- mysql5使用时编码混乱会导致的问题
- iOS关于时间的处理
- iOS- 视频播放
- 你的每一个选择,都可能决定你的命运
- CentOS系统时间与UTC时间不一致怎么办
- Swift - 实现日志输出的封装1(显示出调用的文件名、方法、行号)
- wxWidgets的AUI(高级用户界面,Advanced User Interface)
- 如何在ubuntu下安装合适的翻译词典
- 解决cordova中下载maven和gradle慢的问题
- autoescape-django模板中HTML转义
- expres 创建一个项目时,出现express不是一个内部或外部的命令问题的解决
- Spring组件扫描<context:component-scan/>使用详解
- 第一天
- BP神经网络