MCPcopy Create free account
hub / github.com/ElementsProject/lightning / log_one_line

Function log_one_line

lightningd/log.c:771–813  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

769};
770
771static void log_one_line(struct timerel diff,
772 enum log_level level,
773 const struct node_id *node_id,
774 const char *prefix,
775 const char *log,
776 size_t loglen,
777 const u8 *io,
778 size_t iolen,
779 struct log_data *data)
780{
781 char buf[101];
782
783 snprintf(buf, sizeof(buf), "%s+%lu.%09u %s%s: ",
784 data->prefix,
785 (unsigned long)diff.ts.tv_sec,
786 (unsigned)diff.ts.tv_nsec,
787 prefix,
788 level == LOG_IO_IN ? "IO_IN"
789 : level == LOG_IO_OUT ? "IO_OUT"
790 : level == LOG_TRACE ? "TRACE"
791 : level == LOG_DBG ? "DEBUG"
792 : level == LOG_INFORM ? "INFO"
793 : level == LOG_UNUSUAL ? "UNUSUAL"
794 : level == LOG_BROKEN ? "BROKEN"
795 : "**INVALID**");
796
797 write_all(data->fd, buf, strlen(buf));
798 write_all(data->fd, log, loglen);
799 if (level == LOG_IO_IN || level == LOG_IO_OUT) {
800 size_t off, used;
801
802 /* No allocations, may be in signal handler. */
803 for (off = 0; off < iolen; off += used) {
804 used = iolen - off;
805 if (hex_str_size(used) > sizeof(buf))
806 used = hex_data_size(sizeof(buf));
807 hex_encode(io + off, used, buf, hex_str_size(used));
808 write_all(data->fd, buf, strlen(buf));
809 }
810 }
811
812 data->prefix = "\n";
813}
814
815static struct log_file *find_log_file(struct log_book *log_book,
816 const char *fname)

Callers

nothing calls this directly

Calls 4

hex_str_sizeFunction · 0.85
hex_data_sizeFunction · 0.85
hex_encodeFunction · 0.85
write_allFunction · 0.50

Tested by

no test coverage detected