Merge branch 'main' into 'main'

gmessages: add `SYSLOG_IDENTIFIER` to structured logs using select functions

Closes #3656

See merge request GNOME/glib!4589
This commit is contained in:
Philip Withnall 2025-05-20 13:52:54 +00:00
commit 546bf019f9

View File

@ -1942,14 +1942,30 @@ g_log_structured_standard (const gchar *log_domain,
{ "CODE_FUNC", func, -1 },
/* Filled in later: */
{ "MESSAGE", NULL, -1 },
/* If @log_domain is %NULL, we will not pass this field: */
{ "GLIB_DOMAIN", log_domain, -1 },
/* Optionally GLIB_DOMAIN and/or SYSLOG_IDENTIFIER */
{ NULL, NULL, -1 },
{ NULL, NULL, -1 },
};
gsize n_fields;
gsize n_fields = 5;
const gchar *prgname = g_get_prgname ();
gchar *message_allocated = NULL;
gchar buffer[1025];
va_list args;
if (log_domain)
{
fields[n_fields].key = "GLIB_DOMAIN";
fields[n_fields].value = log_domain;
n_fields++;
}
if (prgname)
{
fields[n_fields].key = "SYSLOG_IDENTIFIER";
fields[n_fields].value = prgname;
n_fields++;
}
va_start (args, message_format);
if (log_level & G_LOG_FLAG_RECURSION)
@ -1969,7 +1985,6 @@ g_log_structured_standard (const gchar *log_domain,
va_end (args);
n_fields = G_N_ELEMENTS (fields) - ((log_domain == NULL) ? 1 : 0);
g_log_structured_array (log_level, fields, n_fields);
g_free (message_allocated);
@ -3437,8 +3452,9 @@ g_log_default_handler (const gchar *log_domain,
const gchar *message,
gpointer unused_data)
{
GLogField fields[4];
GLogField fields[5];
int n_fields = 0;
const gchar *prgname;
/* we can be called externally with recursion for whatever reason */
if (log_level & G_LOG_FLAG_RECURSION)
@ -3464,9 +3480,18 @@ g_log_default_handler (const gchar *log_domain,
if (log_domain)
{
fields[3].key = "GLIB_DOMAIN";
fields[3].value = log_domain;
fields[3].length = -1;
fields[n_fields].key = "GLIB_DOMAIN";
fields[n_fields].value = log_domain;
fields[n_fields].length = -1;
n_fields++;
}
prgname = g_get_prgname ();
if (prgname)
{
fields[n_fields].key = "SYSLOG_IDENTIFIER";
fields[n_fields].value = prgname;
fields[n_fields].length = -1;
n_fields++;
}