aboutsummaryrefslogtreecommitdiff
path: root/ios-bootstrap/ib-log.h
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)