Switch to unified view

a b/libupnpp/log.hxx
1
/* Copyright (C) 2014 J.F.Dockes
2
 *     This program is free software; you can redistribute it and/or modify
3
 *     it under the terms of the GNU General Public License as published by
4
 *     the Free Software Foundation; either version 2 of the License, or
5
 *     (at your option) any later version.
6
 *
7
 *     This program is distributed in the hope that it will be useful,
8
 *     but WITHOUT ANY WARRANTY; without even the implied warranty of
9
 *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
 *     GNU General Public License for more details.
11
 *
12
 *     You should have received a copy of the GNU General Public License
13
 *     along with this program; if not, write to the
14
 *     Free Software Foundation, Inc.,
15
 *     59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
16
 */
17
#ifndef _LOG_H_X_INCLUDED_
18
#define _LOG_H_X_INCLUDED_
19
20
namespace upnppdebug {
21
    typedef enum loglevels {LLDEB, LLINF, LLERR, LLFAT, LLNON} loglevels;
22
23
    extern int loglevel;
24
}
25
26
#define DEBOUT cerr
27
28
#define LOGDEB(X) {                                                     \
29
        if (upnppdebug::loglevel >= upnppdebug::LLDEB)                  \
30
        {                                                               \
31
            DEBOUT << __FILE__ << ":" << __LINE__<< "::"; DEBOUT << X;  \
32
        }                                                               \
33
    }
34
35
#define LOGINF(X) {                                                     \
36
        if (upnppdebug::loglevel >= upnppdebug::LLINF)                  \
37
        {                                                               \
38
            DEBOUT << __FILE__ << ":" << __LINE__<< "::"; DEBOUT << X;  \
39
        }                                                               \
40
    }                                                                   
41
42
#define LOGERR(X) {                                                     \
43
        if (upnppdebug::loglevel >= upnppdebug::LLERR)                  \
44
        {                                                               \
45
            DEBOUT << __FILE__ << ":" << __LINE__<< "::"; DEBOUT << X;  \
46
        }                                                               \
47
    }
48
49
#define LOGFAT(X) {                                                     \
50
        if (upnppdebug::loglevel >= upnppdebug::LLFAT)                  \
51
        {                                                               \
52
            DEBOUT << __FILE__ << ":" << __LINE__<< "::"; DEBOUT << X;  \
53
        }                                                               \
54
    }
55
56
57
#endif /* _LOG_H_X_INCLUDED_ */