summaryrefslogtreecommitdiffstats
path: root/src/power/trace.c
blob: 1f23a6a94472e256dae29fdb1ff0e4fb53f7afc4 (plain)
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
27
28
29

#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>

static FILE *_trace_file = NULL;

void _trace(int level, const char *file, int line, const char *format, ...)
{
    // TODO; level
    if (_trace_file == NULL) {
        char *filename = getenv("SBLIM_TRACE_FILE");
        if (filename != NULL) {
            _trace_file = fopen(filename, "a");
            if (_trace_file == NULL) {
                _trace_file = stderr;
            }
        } else {
            _trace_file = stderr;
        }
    }

    va_list args;
    va_start(args, format);
    fprintf(_trace_file, "%s:%d\t", file, line);
    vfprintf(_trace_file, format, args);
    fprintf(_trace_file, "\n");
    va_end(args);
}