source: subversion/applications/utils/tirex/backend-mapnik/debuggable.h @ 29342

Last change on this file since 29342 was 29247, checked in by Dane Springmeyer, 7 years ago

malloc.h is not available on osx and should not be needed to be explicitly included on other platforms

File size: 1.3 KB
Line 
1/*
2 * Tirex Tile Rendering System
3 *
4 * Mapnik rendering backend
5 *
6 * Originally written by Jochen Topf & Frederik Ramm.
7 *
8 */
9
10/**
11 * Debuggable
12 *
13 * Superclass for classes that may log debug info
14 */
15
16#ifndef debuggable_included
17#define debuggable_included
18
19#include <sys/types.h>
20#include <string.h>
21#include <stdio.h>
22#include <stdlib.h>
23#include <stdarg.h>
24#include <syslog.h>
25
26class Debuggable
27{
28    protected:
29
30    void debug(const char *fmt, ...) const
31    {
32        if (!msDebugLogging) return;
33        va_list ap;
34        va_start(ap, fmt);
35        vsyslog(LOG_DEBUG, fmt, ap);
36        va_end(ap);
37    }
38    void info(const char *fmt, ...) const
39    {
40        va_list ap;
41        va_start(ap, fmt);
42        vsyslog(LOG_INFO, fmt, ap);
43        va_end(ap);
44    }
45    void notice(const char *fmt, ...) const
46    {
47        va_list ap;
48        va_start(ap, fmt);
49        vsyslog(LOG_NOTICE, fmt, ap);
50        va_end(ap);
51    }
52    void warning(const char *fmt, ...) const
53    {
54        va_list ap;
55        va_start(ap, fmt);
56        vsyslog(LOG_WARNING, fmt, ap);
57        va_end(ap);
58    }
59    void error(const char *fmt, ...) const
60    {
61        va_list ap;
62        va_start(ap, fmt);
63        vsyslog(LOG_ERR, fmt, ap);
64        va_end(ap);
65    }
66
67    public:
68
69    static bool msDebugLogging;
70};
71
72#endif
73
Note: See TracBrowser for help on using the repository browser.