log4cpp源码阅读:TimeStamp工具类
发布日期:2022-03-16 03:25:41 浏览次数:23 分类:技术文章

本文共 1375 字,大约阅读时间需要 4 分钟。

TimeStamp

功能

  • 构建的时候,会获取当前URC的时间,可以从这个对象获取已经经过的秒数,也可以获取微秒部分。

实现

class LOG4CPP_EXPORT TimeStamp {
public: TimeStamp(); TimeStamp(unsigned int seconds, unsigned int microSeconds = 0); inline int getSeconds() const {
return _seconds; }; inline int getMilliSeconds() const {
return _microSeconds / 1000; }; inline int getMicroSeconds() const {
return _microSeconds; }; protected: int _seconds; int _microSeconds; };

内部成员非常简单:

  • _seconds属性,来保存已经走过的秒数
  • _microSeconds属性,表示已经做过的微秒数

具体值在构造函数中设置

  • 构造函数:可以看出调用系统函数gettimeofday(),然后设置值。
TimeStamp::TimeStamp() {
struct timeval tv; ::gettimeofday(&tv, NULL); _seconds = tv.tv_sec; _microSeconds = tv.tv_usec; }
  • 构造函数:可以看出使用外部传入的值设置。
TimeStamp::TimeStamp(unsigned int seconds, unsigned int microSeconds) :        _seconds(seconds),        _microSeconds(microSeconds) {
}

TimeStamp还有一个静态成员,代码如下:

class LOG4CPP_EXPORT TimeStamp {
public: static inline const TimeStamp& getStartTime() {
return _startStamp; }; protected: static TimeStamp _startStamp; ...
  • 这个静态成员_startStamp在程序启动的时候,被程序自动构造,在其构造函数中获得当前utc时间

总结

TimeStamp,其对象保存了对象具体场景的时候,内部保存的秒数部分,和微秒部分。还提供 了获取应该启动时间的getStartTime()静态方法

转载地址:https://blog.csdn.net/zhizhengguan/article/details/123138273 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:log4cpp源码阅读:Layout组件解析
下一篇:log4cpp源码阅读:StringUtil工具类

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年03月30日 15时44分59秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章