i3
Main Page
Data Structures
Files
File List
Globals
include
log.h
Go to the documentation of this file.
1
/*
2
* vim:ts=4:sw=4:expandtab
3
*
4
* i3 - an improved dynamic tiling window manager
5
* © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
6
*
7
* log.c: Logging functions.
8
*
9
*/
10
#ifndef I3_LOG_H
11
#define I3_LOG_H
12
13
#include <stdarg.h>
14
#include <stdbool.h>
15
16
/* We will include libi3.h which define its own version of LOG, ELOG.
17
* We want *our* version, so we undef the libi3 one. */
18
#if defined(LOG)
19
#undef LOG
20
#endif
21
#if defined(ELOG)
22
#undef ELOG
23
#endif
24
#if defined(DLOG)
25
#undef DLOG
26
#endif
27
29
#define LOG(fmt, ...) verboselog(fmt, ##__VA_ARGS__)
30
#define ELOG(fmt, ...) errorlog("ERROR: " fmt, ##__VA_ARGS__)
31
#define DLOG(fmt, ...) debuglog("%s:%s:%d - " fmt, I3__FILE__, __FUNCTION__, __LINE__, ##__VA_ARGS__)
32
33
extern
char
*
errorfilename
;
34
extern
char
*
shmlogname
;
35
extern
int
shmlog_size
;
36
42
void
init_logging
(
void
);
43
48
void
open_logbuffer
(
void
);
49
54
void
close_logbuffer
(
void
);
55
60
bool
get_debug_logging
(
void
);
61
66
void
set_debug_logging
(
const
bool
_debug_logging);
67
74
void
set_verbosity
(
bool
_verbose);
75
81
void
debuglog
(
char
*fmt, ...)
82
__attribute__
((format (printf, 1, 2)));
83
88
void
errorlog
(
char
*fmt, ...)
89
__attribute__
((format (printf, 1, 2)));
90
96
void
verboselog
(
char
*fmt, ...)
97
__attribute__
((format (printf, 1, 2)));
98
104
void
purge_zerobyte_logfile
(
void
);
105
106
#endif
Generated by
1.8.3.1