server: portability fixups
[fio.git] / log.c
... / ...
CommitLineData
1#include <unistd.h>
2#include <fcntl.h>
3#include <string.h>
4#include <stdarg.h>
5#include <syslog.h>
6
7#include "fio.h"
8
9int log_valist(const char *str, va_list args)
10{
11 if (log_syslog) {
12 vsyslog(LOG_INFO, str, args);
13 return 0;
14 } else {
15 char buffer[1024];
16 size_t len;
17
18 len = vsnprintf(buffer, sizeof(buffer), str, args);
19 return fwrite(buffer, len, 1, f_out);
20 }
21}
22
23int log_local(const char *format, ...)
24{
25 char buffer[1024];
26 va_list args;
27 size_t len;
28
29 va_start(args, format);
30
31 if (log_syslog) {
32 vsyslog(LOG_INFO, format, args);
33 va_end(args);
34 return 0;
35 } else {
36 len = vsnprintf(buffer, sizeof(buffer), format, args);
37 va_end(args);
38 return fwrite(buffer, len, 1, f_out);
39 }
40}
41
42int log_info(const char *format, ...)
43{
44 char buffer[1024];
45 va_list args;
46 size_t len;
47
48 va_start(args, format);
49 len = vsnprintf(buffer, sizeof(buffer), format, args);
50 va_end(args);
51
52 if (is_backend)
53 return fio_server_text_output(buffer, len);
54 else
55 return fwrite(buffer, len, 1, f_out);
56}
57
58int log_err(const char *format, ...)
59{
60 char buffer[1024];
61 va_list args;
62 size_t len;
63
64 va_start(args, format);
65 len = vsnprintf(buffer, sizeof(buffer), format, args);
66 va_end(args);
67
68 if (is_backend)
69 return fio_server_text_output(buffer, len);
70 else {
71 if (f_err != stderr)
72 fwrite(buffer, len, 1, stderr);
73
74 return fwrite(buffer, len, 1, f_err);
75 }
76}