Clion在win10使用Glog & 日志打印到标准输出[glog][打印到标准输出]

本文档详细介绍了如何使用glog库进行日志打印。首先,提供了项目克隆地址,并建议使用CLion作为IDE。接着,列举了glog的主要功能,即在命令行打印不同级别的日志。在输出部分展示了样例日志,包括INFO、WARNING、ERROR和FATAL级别。在使用CLion时,需要注意编译器版本与库的匹配,否则可能会遇到链接错误。解决方法是将架构设置为x86_amd64。

glog使用:

项目地址:
git@github.com:xychen5/tryGlog.git
推荐使用类似于clion的ide,然后打开该项目,即可编译运行。

1 主要作用:

能够将glog的日志在cmd中打印
主要调用了函数:

   google::SetStderrLogging(google::INFO); // print the logs whose severity > [info]

2 output:

样例输出代码如下:

I0718 16:09:07.626883 18628 main.cpp:13] glog used in cmd!!

W0718 16:09:07.627887 18628 main.cpp:14] glog used in cmd!!

E0718 16:09:07.628882 18628 main.cpp:15] glog used in cmd!!

F0718 16:09:07.628882 18628 main.cpp:16] glog used in cmd!!
<
&lt;think&gt; 我们遇到的问题是在CLion中运行程序时,控制台没有显示输出。这可能是由于多种原因造成的。我们需要逐步排查。 以下是可能的原因及解决方案: 1. **程序没有正确运行**:确保你的程序已经成功编译并运行。检查是否有编译错误或运行时错误。 2. **输出被缓冲**:有时控制台输出是缓冲的,特别是当输出较少时。可以尝试刷新输出缓冲区。在C++中,可以使用`std::endl`(它会刷新缓冲区)代替`\n`,或者使用`std::cout.flush()`。 3. **运行配置问题**:在CLion中,检查运行配置(Run Configuration)。确保你运行的是当前想要运行的目标,并且该目标已经正确设置。 4. **控制台显示问题**:有时候控制台可能被最小化或隐藏了。检查CLion的界面,确保控制台视图是打开的(通常位于底部)。 5. **程序运行过快退出**:如果你的程序运行很快,控制台窗口可能一闪而过。可以在程序结束前添加一个等待输入的语句,例如: ```cpp std::cin.get(); // 等待用户按下回车 ``` 或者在程序末尾添加一段延时。 6. **项目设置问题**:检查CMakeLists.txt文件,确保正确生成了可执行文件。 7. **重定向了输出**:检查是否在运行配置中重定向了输出文件或其他地方。 8. **杀毒软件或系统问题**:有时候杀毒软件或系统设置可能阻止控制台输出。 **尝试步骤**: - 首先,创建一个简单的Hello World程序测试: ```cpp #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello, World!&quot; &lt;&lt; std::endl; return 0; } ``` 运行这个程序,看是否输出。 - 如果简单程序可以输出,那么检查原程序是否有问题。 - 如果简单程序也不能输出,则检查CLion的设置: - 查看运行配置:点击运行配置下拉菜单(通常在工具栏),选择&ldquo;Edit Configurations...&rdquo;,检查你的运行配置,确保&ldquo;Executable&rdquo;指向正确的可执行文件,并且&ldquo;Program arguments&rdquo;和&ldquo;Working directory&rdquo;设置正确。 - 检查CMake配置:确保CMake生成目标(target)为可执行文件(add_executable),并且没有错误。 - 尝试重启CLion,有时候IDE本身的小问题可以通过重启解决。 - 如果以上都不行,尝试重建整个项目(删除cmake-build-debug文件夹,然后重新加载CMake项目)。 根据上述步骤,应该能够解决大多数控制台无输出的问题。 &sect;&sect;相关问题&sect;&sect; 1. 如何在CLion中刷新输出缓冲区以确保输出立即显示? 2. 如何设置CLion的运行配置以正确运行程序? 3. 如果程序运行后控制台一闪而过,有哪些方法可以查看输出? 4. 在CMakeLists.txt中,如何指定生成可执行文件? 5. 如何检查CLion中的编译错误和运行时错误? &lt;/think&gt; 在CLion中控制台看不到输出,通常由以下原因及解决方法: ### 常见原因与解决方案: 1. **运行配置错误** - 检查`Run/Debug Configurations`:顶部菜单 &rarr; `Run` &rarr; `Edit Configurations` - 确保: - 正确选择可执行目标(Executable) - `Working directory`设置为项目路径(如`$ProjectFileDir$`) 2. **输出被缓冲** 在C++中添加刷新缓冲区的操作: ```cpp std::cout &lt;&lt; &quot;Output Test&quot; &lt;&lt; std::endl; // endl自带刷新 // 或显式刷新 std::cout &lt;&lt; &quot;Output Test\n&quot;; std::cout.flush(); ``` 3. **控制台未聚焦或最小化** - 点击CLion底部工具栏的`Run`或`Debug`窗口(或按`Alt+4`) - 确保未启用`Attach to Process`模式(应在运行配置中取消勾选) 4. **程序异常退出** - 在`main()`函数末尾添加输入阻塞代码: ```cpp #include &lt;iostream&gt; int main() { // ...你的代码... std::cin.get(); // 等待用户输入后再退出 return 0; } ``` 5. **CMake构建问题** - 重新加载CMake:右键`CMakeLists.txt` &rarr; `Reload CMake Project` - 清理缓存:顶部菜单 &rarr; `File` &rarr; `Invalidate Caches` 6. **后台进程未结束** - 检查任务管理器是否有残留进程(如`your_program.exe`),结束进程后重试。 ### 调试步骤: 1. 创建测试文件`main.cpp`: ```cpp #include &lt;iostream&gt; int main() { std::cout &lt;&lt; &quot;Hello CLion!&quot; &lt;&lt; std::endl; std::cin.get(); // 防止退出 return 0; } ``` 2. 确保`CMakeLists.txt`包含: ```cmake add_executable(YourProjectName main.cpp) ``` 3. 点击绿色三角运行,观察控制台输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值