1 #ifndef PUBSEQ_GATEWAY_LOGGING__HPP
2 #define PUBSEQ_GATEWAY_LOGGING__HPP
3 
4 /*  $Id: pubseq_gateway_logging.hpp 629837 2021-04-22 12:47:49Z ivanov $
5  * ===========================================================================
6  *
7  *                            PUBLIC DOMAIN NOTICE
8  *               National Center for Biotechnology Information
9  *
10  *  This software/database is a "United States Government Work" under the
11  *  terms of the United States Copyright Act.  It was written as part of
12  *  the author's official duties as a United States Government employee and
13  *  thus cannot be copyrighted.  This software/database is freely available
14  *  to the public for use. The National Library of Medicine and the U.S.
15  *  Government have not placed any restriction on its use or reproduction.
16  *
17  *  Although all reasonable efforts have been taken to ensure the accuracy
18  *  and reliability of the software and data, the NLM and the U.S.
19  *  Government do not and cannot warrant the performance or results that
20  *  may be obtained by using this software or data. The NLM and the U.S.
21  *  Government disclaim all warranties, express or implied, including
22  *  warranties of performance, merchantability or fitness for any particular
23  *  purpose.
24  *
25  *  Please cite the author in any work or product based on this material.
26  *
27  * ===========================================================================
28  *
29  * Authors: Sergey Satskiy
30  *
31  * File Description:
32  *
33  */
34 
35 #include <corelib/ncbidiag.hpp>
36 USING_NCBI_SCOPE;
37 
38 
39 extern EDiagSev     g_ConfiguredSeverity;
40 extern bool         g_Trace;
41 
42 
43 #define PSG_TRACE(message)                          \
44     do {                                            \
45         if (g_Trace)                                \
46             ERR_POST(Trace << message);             \
47     } while (0)
48 
49 #define PSG_INFO(message)                           \
50     do {                                            \
51         if (g_ConfiguredSeverity == eDiag_Info)     \
52             ERR_POST(Info << message);              \
53     } while (0)
54 
55 #define PSG_WARNING(message)                        \
56     do {                                            \
57         if (g_ConfiguredSeverity <= eDiag_Warning)  \
58             ERR_POST(Warning << message);           \
59     } while (0)
60 
61 #define PSG_ERROR(message)                          \
62     do {                                            \
63         if (g_ConfiguredSeverity <= eDiag_Error)    \
64             ERR_POST(message);                      \
65     } while (0)
66 
67 #define PSG_CRITICAL(message)                       \
68     do {                                            \
69         if (g_ConfiguredSeverity <= eDiag_Critical) \
70             ERR_POST(Critical << message);          \
71     } while (0)
72 
73 #define PSG_MESSAGE(message)                        \
74     do {                                            \
75         ERR_POST(Message << message);               \
76     } while (0)
77 
78 #endif
79