在浏览 Firefox 源代码时,我看到存在大量日志。我想在运行时找到它们来帮助我理解和调试某些东西。
例如,当查看nsHttpConnection.cpp时,我可以找到以下内容:
...
LOG(("restarting transaction @%p\n", this));
mTunnelProvider = nullptr;
...
Run Code Online (Sandbox Code Playgroud)
LOG 行去了哪里?如何找到包含 Firefox 生成的所有日志的日志文件?
对于文件nsHttpConnection.cpp,函数是HttpLog.hLOG()中定义的宏。
这是摘录:
#define LOG1(args) \
MOZ_LOG(mozilla::net::gHttpLog, mozilla::LogLevel::Error, args)
Run Code Online (Sandbox Code Playgroud)
您可以将它们视为更完整MOZ_LOG功能的快捷方式。
LOG1()-> 错误LOG2()-> 警告LOG3()-> 信息LOG()= LOG4()-> 调试LOG5()-> 详细如果你想获取模块的日志nsHttp,你可以设置2个环境变量,然后运行 firefox :
set MOZ_LOG=nsHttp:5
set MOZ_LOG_FILE=http.log
firefox
Run Code Online (Sandbox Code Playgroud)
或使用命令行参数运行 Firefox:
firefox -MOZ_LOG=nsHttp:5 -MOZ_LOG_FILE=nsHttp.log
Run Code Online (Sandbox Code Playgroud)
这将启用详细级别信息(及更高级别)并将所有输出放入文件中nsHttp.log。
该MOZ_LOG变量由 as <module>:组成level。
您还可以使用更通用的模块all来包含它们。
即记录文件中的所有错误级别信息all.log:
firefox -MOZ_LOG=all:1 -MOZ_LOG_FILE=all.log
Run Code Online (Sandbox Code Playgroud)
有关如何MOZ_LOG配置变量的更多信息,您可以查看prlog.h
| 归档时间: |
|
| 查看次数: |
6626 次 |
| 最近记录: |