1.easylogging源码学习笔记(6)
2.华为nova10是系统鸿蒙系统吗 - 知百科
3.制作VLog常用的APP有哪些呢?
easylogging源码学习笔记(6)
`LOG` 是默认日志、CLOG自定义日志、源码LOG_IF条件日志
特殊日志
LOG_EVERY_N、系统LOG_AFTER_N、源码LOG_N_TIMES
for (int i = 1; i <= ; ++i) {
LOG_EVERY_N(2,系统 INFO) << "Logged every second iter";
}// 5 logs written; 2, 4, 6, 7,
for (int i = 1; i <= ; ++i) {
LOG_AFTER_N(2, INFO) << "Log after 2 hits; " << i;
}// 8 logs written; 3, 4, 5, 6, 7, 8, 9,
for (int i = 1; i <= ; ++i) {
LOG_N_TIMES(3, INFO) << "Log only 3 times; " << i;
}// 3 logs writter; 1, 2, 3
条件日志和特殊日志可以搭配使用
* `VLOG_IF(condition, verbose-level)`
* `CVLOG_IF(condition, verbose-level, loggerID)`
* `VLOG_EVERY_N(n, verbose-level)`
* `CVLOG_EVERY_N(n, verbose-level, loggerID)`
* `VLOG_AFTER_N(n, verbose-level)`
* `CVLOG_AFTER_N(n, verbose-level, loggerID)`
* `VLOG_N_TIMES(n, verbose-level)`
* `CVLOG_N_TIMES(n, verbose-level, loggerID)`
日志详细等级判定
if (VLOG_IS_ON(2)) {
// Verbosity level 2 is on for this file
}
性能追踪
* `TIMED_FUNC(obj-name)`
* `TIMED_SCOPE(obj-name, block-name)`
* `TIMED_BLOCK(obj-name, block-name)`
这些宏实际上都是关于el::base::type::PerformanceTrackerPtr,一个指向el::base::PerformanceTracker的源码寄生源码指针
#if defined(ELPP_FEATURE_ALL) || defined(ELPP_FEATURE_PERFORMANCE_TRACKING)
PerformanceTracker::PerformanceTracker(const std::string& blockName,
base::TimestampUnit timestampUnit,
const std::string& loggerId,
bool scopedLog, Level level) :
m_blockName(blockName), m_timestampUnit(timestampUnit), m_loggerId(loggerId), m_scopedLog(scopedLog),
m_level(level), m_hasChecked(false), m_lastCheckpointId(std::string()), m_enabled(false) {
#if !defined(ELPP_DISABLE_PERFORMANCE_TRACKING) && ELPP_LOGGING_ENABLED
// We store it locally so that if user happen to change configuration by the end of scope
// or before calling checkpoint, we still depend on state of configuration at time of construction
el::Logger* loggerPtr = ELPP->registeredLoggers()->get(loggerId, false);
m_enabled = loggerPtr != nullptr && loggerPtr->m_typedConfigurations->performanceTracking(m_level);
if (m_enabled) {
base::utils::DateTime::gettimeofday(&m_startTime);
}
#endif // !defined(ELPP_DISABLE_PERFORMANCE_TRACKING) && ELPP_LOGGING_ENABLED
}
在构造函数中获取一个时间,
PerformanceTracker::~PerformanceTracker(void) {
#if !defined(ELPP_DISABLE_PERFORMANCE_TRACKING) && ELPP_LOGGING_ENABLED
if (m_enabled) {
base::threading::ScopedLock scopedLock(lock());
if (m_scopedLog) {
base::utils::DateTime::gettimeofday(&m_endTime);
base::type::string_t formattedTime = getFormattedTimeTaken();
PerformanceTrackingData data(PerformanceTrackingData::DataType::Complete);
data.init(this);
data.m_formattedTimeTaken = formattedTime;
PerformanceTrackingCallback* callback = nullptr;
for (const std::pair& h
: ELPP->m_performanceTrackingCallbacks) {
callback = h.second.get();
if (callback != nullptr && callback->enabled()) {
callback->handle(&data);
}
}
}
}
#endif // !defined(ELPP_DISABLE_PERFORMANCE_TRACKING)
}
在析构函数中获取一个时间,系统处理时间data,源码使用PerformanceTrackingCallback类型指针callback,系统并在callback->handle(&data)中处理输出。源码
由于定义了ELPP_FEATURE_PERFORMANCE_TRACKING,系统因此在初始化(INITIALIZE_EASYLOGGINGPP)中实际上是源码安装了一个base::DefaultPerformanceTrackingCallback。
在PerformanceTracker类的系统handle函数中,callback是源码bytebuffer 源码一个PerformanceTrackingCallback类型指针,由于安装的系统是DefaultPerformanceTrackingCallback对象,因此是一个基类指针指向了派生类对象。处理输出的逻辑在DefaultPerformanceTrackingCallback类的handle函数中。
DefaultPerformanceTrackingCallback类的handle函数首先会将数据成员m_data的指针赋值给函数参数,并创建一个base::type::stringstream_t类型的对象ss用于构建输出内容。根据m_data的dataType,输出不同的信息。在输出时,会使用el::base::Writer类构造并输出内容。
华为nova是鸿蒙系统吗 - 知百科
品牌型号:华为nova
系统:HarmonyOS2
华为nova是鸿蒙系统。HUAWEInova是华为于年7月4日发布的手机;它的操作系统为HarmonyOS2.0。鸿蒙系统是一个开放源代码的分布式操作系统,旨在为各种设备提供统一的sjb源码操作系统解决方案,具有多种先进的功能和特性,如分布式架构、轻量级化、快速响应等,可以提供更加智能、更加高效的操作系统服务。
HUAWEInova采用6.英寸OLED屏幕;长度为.毫米,宽度为.毫米,厚度为6.毫米,机身重量约克(含电池);提供号色、绮境森林、普罗旺斯、曜金黑四款配色。number源码
HUAWEInova搭载骁龙G4G处理器;后置万像素超感知摄像头+万像素超广角微距摄像头+万人像虚化景深摄像头,前置万像素超广角摄像头;内置毫安时容量电池。
功能特点:
1、影像:HUAWEInova后置万RYYB超感知镜头,搭载华为RYYB超感光滤色阵列,相比传统RGGB提升%进光量;运用后置人像追焦技术,当锁定拍摄目标后,焦点智能跟随主角;搭载人像识别和背景虚化算法,使vlog人像虚化较为自然,并且搭配一键成片等快捷功能。
2、隐私安全:HUAWEInova可以在应用中实现隐私保护,支持在截图聊天界面,libsocketcan 源码一键隐藏除头像昵称外的手机号码、银行卡账户等。
3、游戏体验:HUAWEInova支持TouchTurbo2.0体感触控,轻微晃动机身即可触发相应按键操作;搭载立体声场双扬声器,较宽声场。
4、Wi-Fi6:HUAWEInova搭载增强版Wi-Fi6,支持4KQAM,最高速率提升%,在Wi-Fi信号弱的情况下,也可以实现较低时延。
制作VLog常用的APP有哪些呢?
常用的APP有一闪、猫饼、videoleap、splice、hyperlapse、Vue、vimo等。我就从操作最简单的给大家安利:Vue,是最适合初学者使用的,上手就能够拍摄,也可以导入视频,功能简单,方便使用。
vimo,最适合小仙女们使用,自带很多好看的动态贴纸,还有动画模板,关键是可以录自己的声音,超级少女心的一个APP!
hyperlapse,适合记录精彩的风景或者激情场景,比如日出,演唱会等,而且带有防抖功能,还可以把长时间的视频压缩很短!
videoleap,不仅仅功能强大,而且还特别有意思,可以在视频中添加视频,关键是还可以编辑添加的这个视频的滤镜、效果、透明度,只要你想的到,就可以玩出各种花样!
splice,被评为最佳手机视频编辑器,和iPhone手机自带的imove相似,但是splice拥有三个音轨,唯一的缺点就是处理起来有点慢!
一闪,基本功能最完备。剪辑效果方面,可以变速、加字,而且字体多样,字体位置、大小、间距都是可变的,还以用表情,排版也很轻松。音乐方面,可以调整分段,还可以调整背景音乐的起始点。滤镜方面,有很多种选择。
猫饼,可以直接把素材进行快速拼接和剪切,用滤镜进行基础调色,也可以在画幅里对画面进行缩放。同时猫饼支持从 iTunes 导入音乐,而且还提供多免费背景音乐任你选择,重要的是音乐都分类好了!最重要的是还可以给自己加一个酷酷的片尾,给自己一个大导演的感觉!