函数

GLiblog_default_handler

声明 [src]

void
g_log_default_handler (
  const gchar* log_domain,
  GLogLevelFlags log_level,
  const gchar* message,
  gpointer unused_data
)

描述 [src]

由 GLib 设置的默认日志处理程序;g_log_set_default_handler() 允许安装一个备用默认日志处理程序。

如果尚未为特定日志域和日志级别组合设置日志处理程序,则使用此功能。它会将消息输出到 stderrstdout,如果日志级别致命,则调用 G_BREAKPOINT()。它会在消息后自动打印一个换行符,因此无需手动包含在 message 中。

此日志处理程序的行为可受到许多环境变量的影响

  • G_MESSAGES_PREFIXED:消息应以程序名称和 PID 为前缀,由 : 分隔的日志级别列表。
  • G_MESSAGES_DEBUG:打印调试和信息消息的日志域的空格分隔列表。默认情况下,不会打印这些消息。如果需要在运行时设置允许的域,请使用 g_log_writer_default_set_debug_domains()
  • DEBUG_INVOCATION:如果设为 1,则相当于 G_MESSAGES_DEBUG=allDEBUG_INVOCATION 是由 systemd 设置的标准环境变量,用于提示调试输出。(自:2.84 起)

stderr 用于级别 G_LOG_LEVEL_ERRORG_LOG_LEVEL_CRITICALG_LOG_LEVEL_WARNINGG_LOG_LEVEL_MESSAGEstdout 用于其余部分,除非 g_log_writer_default_set_use_stderr() 请求了 stderr

如果启用了结构化日志记录,则此操作无效;请参见 使用结构化日志记录

参数

log_domain

类型: const gchar*

消息的日志域,或 NULL 表示默认 "" 应用程序域。

该参数可以是 NULL
数据归函数调用者所有。
该值是一个以 NUL 结尾的 UTF-8 字符串。
log_level

类型: GLogLevelFlags

消息的级别。

message

类型: const gchar*

消息。

该参数可以是 NULL
数据归函数调用者所有。
该值是一个以 NUL 结尾的 UTF-8 字符串。
unused_data

类型: gpointer

g_log() 传递、未使用的数据。

该参数可以是 NULL
数据归函数调用者所有。