log: introduce new helper call log_setup_service()

Let's reduce the common boilerplate and have a single setup function
used by all service code to setup logging.
This commit is contained in:
Lennart Poettering 2018-11-20 11:18:22 +01:00
parent afe44c8ffd
commit 6bf3c61c57
44 changed files with 54 additions and 126 deletions

View File

@ -308,9 +308,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -1337,3 +1337,13 @@ int log_dup_console(void) {
console_fd = copy;
return 0;
}
void log_setup_service(void) {
/* Sets up logging the way it is most appropriate for running a program as a service. Note that using this
* doesn't make the binary unsuitable for invocation on the command line, as log output will still go to the
* terminal if invoked interactively. */
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
}

View File

@ -318,3 +318,5 @@ int log_syntax_invalid_utf8_internal(
})
#define DEBUG_LOGGING _unlikely_(log_get_max_level() >= LOG_DEBUG)
void log_setup_service(void);

View File

@ -185,9 +185,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -23,9 +23,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0);
if (fd < 0) {

View File

@ -883,9 +883,7 @@ static int process_socket(int fd) {
assert(fd >= 0);
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
log_debug("Processing coredump received on stdin...");

View File

@ -609,9 +609,7 @@ int main(int argc, char *argv[]) {
goto finish;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -949,9 +949,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -270,9 +270,7 @@ static int run(int argc, char *argv[]) {
int r, exit_status;
pid_t pid;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc > 2) {
log_error("This program expects one or no arguments.");

View File

@ -20,9 +20,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -707,9 +707,7 @@ int main(int argc, char *argv[]) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);
mac_selinux_init();

View File

@ -1118,9 +1118,7 @@ static int run(int argc, char *argv[]) {
_cleanup_(manager_unrefp) Manager *m = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -352,9 +352,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -990,9 +990,7 @@ int main(int argc, char *argv[]) {
struct MHD_Daemon *d = NULL;
int r, n;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
r = parse_argv(argc, argv);
if (r < 0)

View File

@ -720,9 +720,7 @@ int main(int argc, char *argv[]) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);
mac_selinux_init();

View File

@ -1171,10 +1171,8 @@ static int run(int argc, char *argv[]) {
_cleanup_(manager_unrefp) Manager *m = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_set_facility(LOG_AUTH);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -350,10 +350,8 @@ static int run(int argc, char *argv[]) {
_cleanup_(manager_unrefp) Manager *m = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_set_facility(LOG_AUTH);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -166,9 +166,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -17,9 +17,7 @@ int main(int argc, char *argv[]) {
gid_t gid;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -109,9 +109,7 @@ int main(int argc, char *argv[]) {
_cleanup_(manager_freep) Manager *m = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -231,9 +231,7 @@ int main(int argc, char *argv[]) {
struct statfs sfs;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
r = parse_argv(argc, argv);
if (r < 0)

View File

@ -49,9 +49,7 @@ static int run(int argc, char *argv[]) {
struct stat st;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc != 3) {
log_error("This program expects two arguments.");

View File

@ -127,9 +127,7 @@ static int run(int argc, char *argv[]) {
_cleanup_(manager_unrefp) Manager *m = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -56,9 +56,7 @@ static void test_files(void) {
static int run(int argc, char *argv[]) {
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc > 1) {
log_error("This program takes no arguments.");

View File

@ -30,9 +30,7 @@ static int run(int argc, char *argv[]) {
FILE *f;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc != 2) {
log_error("This program requires one argument.");

View File

@ -29,9 +29,7 @@ static int run(int argc, char *argv[]) {
struct mntent* me;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc > 1) {
log_error("This program takes no arguments.");

View File

@ -39,9 +39,7 @@ int main(int argc, char *argv[]) {
size_t length = 0;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc != 3) {
log_error("Wrong number of arguments.");

View File

@ -19,9 +19,7 @@ int main(int argc, char *argv[]) {
gid_t gid;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc != 1) {
log_error("This program takes no arguments.");

View File

@ -363,9 +363,7 @@ int main(int argc, char *argv[]) {
LIST_HEAD_INIT(write_queue);
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -501,7 +501,5 @@ int generator_hook_up_growfs(
void log_setup_generator(void) {
log_set_prohibit_ipc(true);
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
}

View File

@ -358,9 +358,7 @@ static int run(int argc, char *argv[]) {
usec_t delay = 0;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
r = parse_argv(argc, argv);
if (r <= 0)

View File

@ -98,9 +98,7 @@ int main(int argc, char *argv[]) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
print_mode(argc > 1 ? argv[1] : "");

View File

@ -269,9 +269,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -1933,9 +1933,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (arg_cat_config) {
r = cat_config();

View File

@ -964,9 +964,7 @@ int main(int argc, char *argv[]) {
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -90,10 +90,8 @@ int main(int argc, char *argv[]) {
gid_t gid;
int r;
log_set_target(LOG_TARGET_AUTO);
log_set_facility(LOG_CRON);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -3120,9 +3120,7 @@ int main(int argc, char *argv[]) {
if (r <= 0)
goto finish;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (arg_user) {
r = user_config_paths(&config_dirs);

View File

@ -840,9 +840,7 @@ static int ask_on_consoles(int argc, char *argv[]) {
static int run(int argc, char *argv[]) {
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -37,9 +37,7 @@ int main(int argc, char *argv[]) {
struct stat st;
int r, q = 0;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (stat("/usr", &st) < 0) {
log_error_errno(errno, "Failed to stat /usr: %m");

View File

@ -222,9 +222,7 @@ int main(int argc, char *argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -19,9 +19,7 @@ int main(int argc, char*argv[]) {
return EXIT_FAILURE;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -403,9 +403,7 @@ int main(int argc, char **argv) {
unsigned idx = 0;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -50,9 +50,7 @@ int main(int argc, char *argv[]) {
goto finish;
}
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
umask(0022);

View File

@ -82,9 +82,7 @@ static int run(int argc, char *argv[]) {
const char *path;
int r;
log_set_target(LOG_TARGET_AUTO);
log_parse_environment();
log_open();
log_setup_service();
if (argc > 3) {
log_error("Too many arguments. Expected directory and mode.");