With different entry points */
| 311 | |
| 312 | /* With different entry points */ |
| 313 | struct log * |
| 314 | new_log(const tal_t *ctx, struct log_book *record, |
| 315 | const struct node_id *default_node_id, |
| 316 | const char *fmt, ...) |
| 317 | { |
| 318 | struct log *log = tal(ctx, struct log); |
| 319 | va_list ap; |
| 320 | |
| 321 | log->lr = tal_link(log, record); |
| 322 | va_start(ap, fmt); |
| 323 | /* Owned by the log book itself, since it can be referenced |
| 324 | * by log entries, too */ |
| 325 | log->prefix = log_prefix_new(log->lr, take(tal_vfmt(NULL, fmt, ap))); |
| 326 | va_end(ap); |
| 327 | log->default_node_id = tal_dup_or_null(log, struct node_id, |
| 328 | default_node_id); |
| 329 | |
| 330 | /* Initialized on first use */ |
| 331 | log->print_level = NULL; |
| 332 | return log; |
| 333 | } |
| 334 | |
| 335 | const char *log_prefix(const struct log *log) |
| 336 | { |
no test coverage detected