缘起:
你提供了一批接口,很多使用方在调用,虽然每个调用方都有相应的标识,但是,存在这样一种情况,调用方自己都不知道多少地方在调用,这样的话,如果需要通知调用方修改一些东西的时候,很有可能修改不全。
分析:
接口定义上规定将使用接口的代码的地址写到接口的参数里面; 当然,这个代码的地址如何标识需要考虑一下的:
- 机器IP:这个在socket层可以得到,就不用放在参数里面了
- 文件的全路径: 这个放在参数中有点儿长,不过,这个年代长这么一点不是什么大问题,似乎也没有人把文件的全路径写到nKB的。
- 文件的inode:
1) inode是文件系统中唯一的,不方便使用
2) 相同文件的inode在不同的机器上是不一样的,不方便统计
结论:
接口参数规定: caller=__FILE__