Qt HTTP 服务器日志
Qt HTTP 服务器使用 QLoggingCategory 类进行日志记录。以 "qt.httpserver" 开头的日志类别由 Qt Http Server 的不同部分使用。这些类别可以像在 QLoggingCategory 中描述的那样启用和禁用。
要动态启用或禁用正在记录的内容,请调用 QLoggingCategory::setFilterRules()。服务器可以通过使用以下所示的 QHttpServer::route() 函数将 URL 添加到更改过滤器规则。
#include <QCoreApplication> #include <QHttpServer> #include <QLoggingCategory> int main(int argc, char** argv) { QCoreApplication app(argc, argv); QHttpServer server; server.listen(QHostAddress::LocalHost, 8000); server.route("/loggingFilter", [] (const QHttpServerRequest &request) { QString filter; QTextStream result(&filter); for (auto pair : request.query().queryItems()) { if (!filter.isEmpty()) result << "\n"; result << pair.first << "=" << pair.second; } QLoggingCategory::setFilterRules(filter); return filter; }); return app.exec(); }
现在可以使用以下方式设置过滤器规则:"http://127.0.0.1:8000/loggingFilter?qt.httpserver=true&appname.access=true"。在这种情况下,将启用所有 Qt HTTP 服务器日志记录,并且还启用了假设的日志类别 "appname.access"。
另请参阅 QLoggingCategory 和 QHttpServer。
© 2024 Qt 公司有限公司。在此处包含的文档贡献归其各自的版权所有者所有。本手册提供的文档受GNU 自由文档许可证版本 1.3 的条款许可,由自由软件基金会发布。Qt 和相关徽标是芬兰的 Qt 公司和/或其他国家的商标。所有其他商标均为其各自所有者的财产。