simple cpp file logger
this is a simple cpp file logger implementation, which is copied from making log file - C++ Forum
https://cplusplus.com/forum/beginner/168442/
//////// header log.h /////////// #include <string> #include <fstream> namespace log { extern const std::string path ; extern std::ofstream out ; void flush() ; } //////// implementation log.cpp /////////// // #include "log.h" #include <ctime> namespace log { void flush() { out.flush() ; } namespace // detail { std::string time_stamp() { const auto now = std::time(nullptr) ; char cstr[256] {}; return std::strftime( cstr, sizeof(cstr), "%Y%m%d_%H%M%S", std::localtime(&now) ) ? cstr : "" ; } std::string path_to_session_log_file() { static const std::string log_dir = "/tmp/log/" ; static const std::string log_file_name = "log.txt" ; return log_dir + time_stamp() + '_' + log_file_name ; } } const std::string path = path_to_session_log_file() ; std::ofstream out = std::ofstream( path ); } //////////// usage main.cpp /////////////// // #include "log.h" #include <iostream> int main() { std::cout << "path: " << log::path << '\n' ; log::out << "this is a test\n" ; log::out << "this is another test\n" ; log::flush() ; std::cout << "\n--------------------\n" << std::ifstream( log::path ).rdbuf() ; log::out << "this is the third test\n" ; log::flush() ; std::cout << "\n--------------------\n" << std::ifstream( log::path ).rdbuf() ; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2022-11-10 my tools in windows
2022-11-10 make vscode portable together with its extensions