X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Flog.c;h=8f564a140cb5af8d213d6cfa2471eb550f3a5a79;hp=b96afc4de4ffb93e982da40505f02d526f40e8e4;hb=fd95138ca5a901230648ff3e84f04c7fab555bde;hpb=1cfc78c91965df340cdde100ad6cb3ed50b28927 diff --git a/src/basic/log.c b/src/basic/log.c index b96afc4de..8f564a140 100644 --- a/src/basic/log.c +++ b/src/basic/log.c @@ -27,8 +27,8 @@ #include #include #include -#include +#include "parse-printf-format.h" #include "sd-messages.h" #include "log.h" #include "util.h" @@ -56,7 +56,7 @@ static bool syslog_is_stream = false; static bool show_color = false; static bool show_location = false; -static bool upgrade_syslog_to_journal = false; +/// UNNEEDED by elogind static bool upgrade_syslog_to_journal = false; /* Akin to glibc's __abort_msg; which is private and we hence cannot * use here. */ @@ -178,6 +178,8 @@ fail: return r; } +/// UNNEEDED by elogind +#if 0 void log_close_journal(void) { journal_fd = safe_close(journal_fd); } @@ -211,6 +213,7 @@ fail: log_close_journal(); return r; } +#endif // 0 int log_open(void) { int r; @@ -222,7 +225,7 @@ int log_open(void) { * because there is no reason to close it. */ if (log_target == LOG_TARGET_NULL) { - log_close_journal(); + /// UNNEEDED by elogind log_close_journal(); log_close_syslog(); log_close_console(); return 0; @@ -232,6 +235,8 @@ int log_open(void) { getpid() == 1 || isatty(STDERR_FILENO) <= 0) { +/// elogind does not support logging to systemd-journald +#if 0 if (log_target == LOG_TARGET_AUTO || log_target == LOG_TARGET_JOURNAL_OR_KMSG || log_target == LOG_TARGET_JOURNAL) { @@ -242,12 +247,12 @@ int log_open(void) { return r; } } - +#endif // 0 if (log_target == LOG_TARGET_SYSLOG_OR_KMSG || log_target == LOG_TARGET_SYSLOG) { r = log_open_syslog(); if (r >= 0) { - log_close_journal(); + /// UNNEEDED by elogind log_close_journal(); log_close_console(); return r; } @@ -255,12 +260,12 @@ int log_open(void) { if (log_target == LOG_TARGET_AUTO || log_target == LOG_TARGET_SAFE || - log_target == LOG_TARGET_JOURNAL_OR_KMSG || + /// UNNEEDED by elogind log_target == LOG_TARGET_JOURNAL_OR_KMSG || log_target == LOG_TARGET_SYSLOG_OR_KMSG || log_target == LOG_TARGET_KMSG) { r = log_open_kmsg(); if (r >= 0) { - log_close_journal(); + /// UNNEEDED by elogind log_close_journal(); log_close_syslog(); log_close_console(); return r; @@ -268,7 +273,7 @@ int log_open(void) { } } - log_close_journal(); + /// UNNEEDED by elogind log_close_journal(); log_close_syslog(); return log_open_console(); @@ -278,26 +283,32 @@ void log_set_target(LogTarget target) { assert(target >= 0); assert(target < _LOG_TARGET_MAX); +/// elogind does not support logging to systemd-journald +#if 0 if (upgrade_syslog_to_journal) { if (target == LOG_TARGET_SYSLOG) target = LOG_TARGET_JOURNAL; else if (target == LOG_TARGET_SYSLOG_OR_KMSG) target = LOG_TARGET_JOURNAL_OR_KMSG; } +#endif // 0 log_target = target; } void log_close(void) { - log_close_journal(); + /// UNNEDED by elogind log_close_journal(); log_close_syslog(); log_close_kmsg(); log_close_console(); } +/// UNNEEDED by elogind +#if 0 void log_forget_fds(void) { console_fd = kmsg_fd = syslog_fd = journal_fd = -1; } +#endif // 0 void log_set_max_level(int level) { assert((level & LOG_PRIMASK) == level); @@ -340,10 +351,10 @@ static int write_to_console( } if (highlight) - IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_RED_ON); + IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_RED); IOVEC_SET_STRING(iovec[n++], buffer); if (highlight) - IOVEC_SET_STRING(iovec[n++], ANSI_HIGHLIGHT_OFF); + IOVEC_SET_STRING(iovec[n++], ANSI_NORMAL); IOVEC_SET_STRING(iovec[n++], "\n"); if (writev(console_fd, iovec, n) < 0) { @@ -435,7 +446,7 @@ static int write_to_syslog( static int write_to_kmsg( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *object_field, @@ -464,6 +475,8 @@ static int write_to_kmsg( return 1; } +/// UNNEEDED by elogind +#if 0 static int log_do_header( char *header, size_t size, @@ -506,7 +519,7 @@ static int log_do_header( static int write_to_journal( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *object_field, @@ -535,6 +548,7 @@ static int write_to_journal( return 1; } +#endif // 0 static int log_dispatch( int level, @@ -570,6 +584,8 @@ static int log_dispatch( if ((e = strpbrk(buffer, NEWLINE))) *(e++) = 0; +/// elogind does not support logging to systemd-journald +#if 0 if (log_target == LOG_TARGET_AUTO || log_target == LOG_TARGET_JOURNAL_OR_KMSG || log_target == LOG_TARGET_JOURNAL) { @@ -581,6 +597,7 @@ static int log_dispatch( log_open_kmsg(); } } +#endif // 0 if (log_target == LOG_TARGET_SYSLOG_OR_KMSG || log_target == LOG_TARGET_SYSLOG) { @@ -597,7 +614,7 @@ static int log_dispatch( (log_target == LOG_TARGET_AUTO || log_target == LOG_TARGET_SAFE || log_target == LOG_TARGET_SYSLOG_OR_KMSG || - log_target == LOG_TARGET_JOURNAL_OR_KMSG || + /// UNNEEDED by elogind log_target == LOG_TARGET_JOURNAL_OR_KMSG || log_target == LOG_TARGET_KMSG)) { k = write_to_kmsg(level, error, file, line, func, object_field, object, buffer); @@ -640,7 +657,7 @@ int log_dump_internal( int log_internalv( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *format, @@ -667,7 +684,7 @@ int log_internalv( int log_internal( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *format, ...) { @@ -685,7 +702,7 @@ int log_internal( int log_object_internalv( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *object_field, @@ -729,7 +746,7 @@ int log_object_internalv( int log_object_internal( int level, int error, - const char*file, + const char *file, int line, const char *func, const char *object_field, @@ -813,6 +830,8 @@ int log_struct_internal( if ((level & LOG_FACMASK) == 0) level = log_facility | LOG_PRI(level); +/// elogind does not support logging to systemd-journald +#if 0 if ((log_target == LOG_TARGET_AUTO || log_target == LOG_TARGET_JOURNAL_OR_KMSG || log_target == LOG_TARGET_JOURNAL) && @@ -875,6 +894,7 @@ int log_struct_internal( if (!fallback) return -error; } +#endif // 0 /* Fallback if journal logging is not available or didn't work. */ @@ -922,7 +942,7 @@ int log_set_max_level_from_string(const char *e) { t = log_level_from_string(e); if (t < 0) - return t; + return -EINVAL; log_set_max_level(t); return 0; @@ -1050,8 +1070,11 @@ static const char *const log_target_table[_LOG_TARGET_MAX] = { [LOG_TARGET_CONSOLE] = "console", [LOG_TARGET_CONSOLE_PREFIXED] = "console-prefixed", [LOG_TARGET_KMSG] = "kmsg", +/// elogind does not support logging to systemd-journald +#if 0 [LOG_TARGET_JOURNAL] = "journal", [LOG_TARGET_JOURNAL_OR_KMSG] = "journal-or-kmsg", +#endif // 0 [LOG_TARGET_SYSLOG] = "syslog", [LOG_TARGET_SYSLOG_OR_KMSG] = "syslog-or-kmsg", [LOG_TARGET_AUTO] = "auto", @@ -1061,6 +1084,8 @@ static const char *const log_target_table[_LOG_TARGET_MAX] = { DEFINE_STRING_TABLE_LOOKUP(log_target, LogTarget); +/// UNNEEDED by elogind +#if 0 void log_received_signal(int level, const struct signalfd_siginfo *si) { if (si->ssi_pid > 0) { _cleanup_free_ char *p = NULL; @@ -1081,6 +1106,7 @@ void log_received_signal(int level, const struct signalfd_siginfo *si) { void log_set_upgrade_syslog_to_journal(bool b) { upgrade_syslog_to_journal = b; } +#endif // 0 int log_syntax_internal( const char *unit,