函数
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()
允许安装一个备用默认日志处理程序。
如果尚未为特定日志域和日志级别组合设置日志处理程序,则使用此功能。它会将消息输出到 stderr
或 stdout
,如果日志级别致命,则调用 G_BREAKPOINT()
。它会在消息后自动打印一个换行符,因此无需手动包含在 message
中。
此日志处理程序的行为可受到许多环境变量的影响
G_MESSAGES_PREFIXED
:消息应以程序名称和 PID 为前缀,由:
分隔的日志级别列表。G_MESSAGES_DEBUG
:打印调试和信息消息的日志域的空格分隔列表。默认情况下,不会打印这些消息。如果需要在运行时设置允许的域,请使用g_log_writer_default_set_debug_domains()
。DEBUG_INVOCATION
:如果设为1
,则相当于G_MESSAGES_DEBUG=all
。DEBUG_INVOCATION
是由 systemd 设置的标准环境变量,用于提示调试输出。(自:2.84 起)
stderr
用于级别 G_LOG_LEVEL_ERROR
、G_LOG_LEVEL_CRITICAL
、G_LOG_LEVEL_WARNING
和 G_LOG_LEVEL_MESSAGE
。stdout
用于其余部分,除非 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
。数据归函数调用者所有。