# SSSD 2.10.0 src/util/debug.c sss_vdebug_fn: "(%d-%02d-%02d %2d:%02d:%02d" with ":%.6ld" for microseconds, "): ", then "[%s] [%s] (%#.4x): " (program, function, level); 1.16.5 printed ctime's first 19 characters and the year: "(%s[:%.6ld] %d) "
# src/util/debug.h: one bit per level, 0x0010 fatal to 0x20000 performance; SSSDBG_IMPORTANT_INFO sets every bit from 0x0040 up and prints 0x3f7c0
# Lines from lnav v0.14.1 sssd_log samples
(2022-06-08  8:52:40): [be[ipa.example.com]] [sysdb_add_user] (0x0040): [RID#3] Group named aduser@example.com already exists in an MPG domain  <----- ⇒ {"rule": "sssd", "level": "error", "name": "be[ipa.example.com]", "message": "[RID#3] Group named aduser@example.com already exists in an MPG domain  <-----", "prefixed": true}
(2022-06-14  0:31:43): [pam] [sss_process_init] (0x0010): fatal error setting up backend connector ⇒ {"rule": "sssd", "level": "critical", "name": "pam", "message": "fatal error setting up backend connector"}
(2022-06-14  0:31:47): [nss] [sbus_reconnect_attempt] (0x0020): Unable to connect to D-Bus ⇒ {"rule": "sssd", "level": "critical", "name": "nss", "message": "Unable to connect to D-Bus"}
(Tue Mar 31 06:03:46 2015) [sssd[be[default]]] [sysdb_search_by_name] (0x0400): No such entry ⇒ {"rule": "sssd", "level": "debug", "name": "sssd[be[default]]", "message": "No such entry"}
(Tue Mar 31 05:58:38 2015) [sssd] [start_service] (0x0100): Queueing service LDAP for startup ⇒ {"rule": "sssd", "level": "info", "leveled": true, "name": "sssd", "message": "Queueing service LDAP for startup"}
(Tue Jul 14 11:01:17:259149 2020) [sssd] [sss_ini_call_validators] (0x0020): [rule/allowed_sections]: Section [prompting/password] is not allowed. Check for typos. ⇒ {"rule": "sssd", "level": "critical", "name": "sssd", "message": "[rule/allowed_sections]: Section [prompting/password] is not allowed. Check for typos."}
# constructed (2026-10-21 14:03:01): [sssd] [main] (0x3f7c0): Starting with debug level = 0x0070 ⇒ {"rule": "sssd", "level": "info", "leveled": true, "name": "sssd", "message": "Starting with debug level = 0x0070"}
# constructed (2026-10-21 14:03:01): [be[acme.example]] [sdap_process_result] (0x0080): Request timed out ⇒ {"rule": "sssd", "level": "warn", "name": "be[acme.example]", "message": "Request timed out"}
# constructed (2026-10-21 14:03:01): [nss] [nss_cmd_getpwnam] (0x0200): Looking up [pump@acme.example] ⇒ {"rule": "sssd", "level": "debug", "name": "nss", "message": "Looking up [pump@acme.example]"}
# constructed (2026-10-21 14:03:01): [nss] [sbus_dispatch] (0x1000): Dispatching. ⇒ {"rule": "sssd", "level": "trace", "name": "nss", "message": "Dispatching."}
# constructed (2026-10-21 14:03:01): [nss] [sbus_dispatch] (0x2000): Dispatching internal. ⇒ {"rule": "sssd", "level": "trace", "name": "nss", "message": "Dispatching internal."}
# constructed (2026-10-21 14:03:01): [nss] [sss_cmd_execute] (0x4000): Running command [17] ⇒ {"rule": "sssd", "level": "trace", "name": "nss", "message": "Running command [17]"}
# constructed (2026-10-21 14:03:01): [be[acme.example]] [fo_resolve_service_send] (0x8000): Trying to resolve service 'LDAP' ⇒ {"rule": "sssd", "level": "trace", "name": "be[acme.example]", "message": "Trying to resolve service 'LDAP'"}
# constructed (2026-10-21 14:03:01): [sssd] [ldb] (0x10000): start ldb transaction (nesting: 0) ⇒ {"rule": "sssd", "level": "trace", "name": "sssd", "message": "start ldb transaction (nesting: 0)"}
# constructed (2026-10-21 14:03:01:123456): [sssd] [main] (0x20000): [PERF] lookup took 12 ms ⇒ {"rule": "sssd", "level": "trace", "name": "sssd", "message": "[PERF] lookup took 12 ms"}
# constructed (Wed Oct  1 14:03:01 2026) [sssd] [main] (0x0040): a ctime day pads with a space ⇒ {"rule": "sssd", "level": "error", "name": "sssd", "message": "a ctime day pads with a space"}
# a level SSSD's debug() takes as more than one bit, and other shapes
# constructed (2026-10-21 14:03:01): [sssd] [main] (0x0070): several bits name no one level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21 14:03:01): [sssd] [main] (0x0070): several bits name no one level"}
# constructed (2026-10-21 14:03:01): [sssd] [main] (0x40): fewer than four digits ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21 14:03:01): [sssd] [main] (0x40): fewer than four digits"}
# constructed (2026-10-21 14:03:01): [sssd] [main] 0x0040: no parentheses ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21 14:03:01): [sssd] [main] 0x0040: no parentheses"}
# constructed (2026-10-21 14:03:01): [sssd] (0x0040): no function ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21 14:03:01): [sssd] (0x0040): no function"}
# constructed (2026-10-21 14:03:01) [sssd] [main] (0x0040): the 2.x stamp ends in a colon ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21 14:03:01) [sssd] [main] (0x0040): the 2.x stamp ends in a colon"}
# constructed (2026-10-21T14:03:01): [sssd] [main] (0x0040): a T in the stamp ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(2026-10-21T14:03:01): [sssd] [main] (0x0040): a T in the stamp"}
# constructed [sssd] [main] (0x0040): no stamp ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "[sssd] [main] (0x0040): no stamp"}
# constructed (note) an aside in parentheses ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(note) an aside in parentheses"}
# constructed (0x0040): only the level ⇒ {"rule": "plain", "level": "info", "leveled": false, "message": "(0x0040): only the level"}
2017-04-07 22:45:30.218 CEST [22603] postgres@mydb ERROR:  operator does not exist: jsonb @> at character 49 ⇒ {"rule": "postgres", "level": "error", "message": "operator does not exist: jsonb @> at character 49"}
