diff --git a/lightningd/log.c b/lightningd/log.c index 2afd0a373b95..0c90267155b3 100644 --- a/lightningd/log.c +++ b/lightningd/log.c @@ -560,6 +560,19 @@ void logv(struct logger *log, enum log_level level, if (l->log[i] < ' ' || l->log[i] >= 0x7f) l->log[i] = '?'; + /* Replace "\n" with line breaks in the log, if they exist. */ + char *write_ptr = l->log; + for (size_t i=0; ilog[i] == '\\' && i < log_len-1 && l->log[i+1] == 'n') { + *write_ptr = '\n'; + i++; + } else { + *write_ptr = l->log[i]; + } + write_ptr++; + } + *write_ptr = 0x00; + maybe_print(log, l); add_entry(log, &l);