【问题标题】:Unable to find what would be the log domain name for gtkbuilder.c找不到 gtkbuilder.c 的日志域名
【发布时间】:2021-02-07 23:38:10
【问题描述】:

我想重定向来自g_warning() 的消息和来自gtkbuilder.c 的类似功能,例如著名的:

(main.exe:39280): Gtk-WARNING **: 01:34:48.787: 找不到信号 处理程序“on_window_realize”。你是用 -rdynamic 编译的吗?

使用g_log_set_handler()。它期望域名作为第一个参数,这是我似乎无法找到的。如果G_LOG_DOMAIN 未在源代码中定义,则默认为NULL,在这种情况下,我将无法使用g_log_set_handler() 对其进行重定向。

它的日志域名是什么,或者 - 我到底如何重定向这些消息(我将它们重定向到 GtkTextBuffer)?

【问题讨论】:

    标签: c gtk gtkbuilder


    【解决方案1】:

    GTK 正在使用结构化日志记录,这意味着 g_log_set_handler() 将不起作用。

    应该使用g_log_set_writer_func() 来捕获每个结构化日志并在回调中解析给定的GLogWriterFunc

    【讨论】:

      猜你喜欢
      • 2022-10-13
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-17
      相关资源
      最近更新 更多