chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
log: properly return -EINVAL from log_set_max_level_from_string()
[elogind.git]
/
src
/
basic
/
log.c
diff --git
a/src/basic/log.c
b/src/basic/log.c
index b96afc4de4ffb93e982da40505f02d526f40e8e4..69977f15d69ba657ea9faa01f7eea45f62e7f0ae 100644
(file)
--- a/
src/basic/log.c
+++ b/
src/basic/log.c
@@
-27,8
+27,8
@@
#include <sys/socket.h>
#include <sys/un.h>
#include <stddef.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <stddef.h>
-#include <printf.h>
+#include "parse-printf-format.h"
#include "sd-messages.h"
#include "log.h"
#include "util.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 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. */
/* Akin to glibc's __abort_msg; which is private and we hence cannot
* use here. */
@@
-178,6
+178,8
@@
fail:
return r;
}
return r;
}
+/// UNNEEDED by elogind
+#if 0
void log_close_journal(void) {
journal_fd = safe_close(journal_fd);
}
void log_close_journal(void) {
journal_fd = safe_close(journal_fd);
}
@@
-211,6
+213,7
@@
fail:
log_close_journal();
return r;
}
log_close_journal();
return r;
}
+#endif // 0
int log_open(void) {
int r;
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) {
* 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;
log_close_syslog();
log_close_console();
return 0;
@@
-232,6
+235,8
@@
int log_open(void) {
getpid() == 1 ||
isatty(STDERR_FILENO) <= 0) {
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) {
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;
}
}
return r;
}
}
-
+#endif // 0
if (log_target == LOG_TARGET_SYSLOG_OR_KMSG ||
log_target == LOG_TARGET_SYSLOG) {
r = log_open_syslog();
if (r >= 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;
}
log_close_console();
return r;
}
@@
-255,12
+260,12
@@
int log_open(void) {
if (log_target == LOG_TARGET_AUTO ||
log_target == LOG_TARGET_SAFE ||
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_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;
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();
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);
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;
}
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_target = target;
}
void log_close(void) {
- log_close_journal();
+
/// UNNEDED by elogind
log_close_journal();
log_close_syslog();
log_close_kmsg();
log_close_console();
}
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;
}
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);
void log_set_max_level(int level) {
assert((level & LOG_PRIMASK) == level);
@@
-464,6
+475,8
@@
static int write_to_kmsg(
return 1;
}
return 1;
}
+/// UNNEEDED by elogind
+#if 0
static int log_do_header(
char *header,
size_t size,
static int log_do_header(
char *header,
size_t size,
@@
-535,6
+548,7
@@
static int write_to_journal(
return 1;
}
return 1;
}
+#endif // 0
static int log_dispatch(
int level,
static int log_dispatch(
int level,
@@
-570,6
+584,8
@@
static int log_dispatch(
if ((e = strpbrk(buffer, NEWLINE)))
*(e++) = 0;
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) {
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();
}
}
log_open_kmsg();
}
}
+#endif // 0
if (log_target == LOG_TARGET_SYSLOG_OR_KMSG ||
log_target == LOG_TARGET_SYSLOG) {
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_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);
log_target == LOG_TARGET_KMSG)) {
k = write_to_kmsg(level, error, file, line, func, object_field, object, buffer);
@@
-813,6
+830,8
@@
int log_struct_internal(
if ((level & LOG_FACMASK) == 0)
level = log_facility | LOG_PRI(level);
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) &&
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;
}
if (!fallback)
return -error;
}
+#endif // 0
/* Fallback if journal logging is not available or didn't work. */
/* 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)
t = log_level_from_string(e);
if (t < 0)
- return
t
;
+ return
-EINVAL
;
log_set_max_level(t);
return 0;
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",
[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",
[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",
[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);
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;
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;
}
void log_set_upgrade_syslog_to_journal(bool b) {
upgrade_syslog_to_journal = b;
}
+#endif // 0
int log_syntax_internal(
const char *unit,
int log_syntax_internal(
const char *unit,