在浏览Firefox源代码时,我看到了很多日志。我想在运行时找到它们,以帮助我理解和调试一些东西。
例如,在查看nsHttpConnection.cpp时,我可以找到以下内容:
...
LOG(("restarting transaction @%p\n", this));
mTunnelProvider = nullptr;
...
原木线到哪里去了?如何找到包含Firefox生成的所有日志的日志文件?
发布于 2021-08-16 12:59:50
对于文件nsHttpConnection.cpp,LOG()
函数是在HttpLog.h中定义的宏。
以下是一段节选:
#define LOG1(args) \
MOZ_LOG(mozilla::net::gHttpLog, mozilla::LogLevel::Error, args)
您可以将它们视为更完整的MOZ_LOG
函数的快捷方式。
LOG1()
->误差LOG2()
->警告LOG3()
->信息LOG()
= LOG4()
->调试LOG5()
->冗长如果要获取nsHttp
模块的日志,可以设置2个环境变量,然后运行firefox:
set MOZ_LOG=nsHttp:5
set MOZ_LOG_FILE=http.log
firefox
或者使用命令行参数运行firefox:
firefox -MOZ_LOG=nsHttp:5 -MOZ_LOG_FILE=nsHttp.log
这将启用详细的级别信息(以及更高的信息),并将所有输出放在文件nsHttp.log
中。
MOZ_LOG
变量由<module>level
组成。
您还可以使用一个更通用的模块all
来包含所有这些模块。
即记录文件all.log
中的所有错误级别信息
firefox -MOZ_LOG=all:1 -MOZ_LOG_FILE=all.log
有关如何配置MOZ_LOG
变量的更多信息,可以查看prlog.h。
https://stackoverflow.com/questions/68803266
复制相似问题