blob: f4b0b350ff02f3c29956d2ced955f17588487783 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#pragma once
#include <dispatch/dispatch.h>
#include <stdio.h>
#include <unistd.h>
static FILE *logfp;
static void open_logfp_if_necessary() {
/* syslog() doesn't seem to work from launchd... */
static dispatch_once_t pred;
dispatch_once(&pred, ^{
char filename[128];
sprintf(filename, "/tmp/substitute-" IB_LOG_NAME "-log.%ld",
(long) getpid());
logfp = fopen(filename, "w");
if (!logfp) {
/* Ack... */
logfp = stderr;
}
});
}
#define ib_log(fmt, args...) do { \
open_logfp_if_necessary(); \
fprintf(logfp, fmt "\n", ##args); \
fflush(logfp); \
} while(0)
|