3
/*___INFO__MARK_BEGIN__*/
4
/*************************************************************************
6
* The Contents of this file are made available subject to the terms of
7
* the Sun Industry Standards Source License Version 1.2
9
* Sun Microsystems Inc., March, 2001
12
* Sun Industry Standards Source License Version 1.2
13
* =================================================
14
* The contents of this file are subject to the Sun Industry Standards
15
* Source License Version 1.2 (the "License"); You may not use this file
16
* except in compliance with the License. You may obtain a copy of the
17
* License at http://gridengine.sunsource.net/Gridengine_SISSL_license.html
19
* Software provided under this License is provided on an "AS IS" basis,
20
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
21
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
22
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
23
* See the License for the specific provisions governing your rights and
24
* obligations concerning the Software.
26
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
28
* Copyright: 2001 by Sun Microsystems, Inc.
30
* All Rights Reserved.
32
************************************************************************/
33
/*___INFO__MARK_END__*/
38
#include "basis_types.h"
39
#include "msg_utilib.h"
41
#define LOG_PROF 0 /* no action, but it has to be printed allways */
43
void log_state_set_log_level(u_long32);
44
void log_state_set_log_file(char *file);
45
void log_state_set_log_verbose(int i);
46
void log_state_set_log_gui(int i);
47
void log_state_set_log_as_admin_user(int i);
49
char* log_get_log_buffer(void);
51
u_long32 log_state_get_log_level(void);
52
const char* log_state_get_log_file(void);
53
int log_state_get_log_verbose(void);
54
int log_state_get_log_gui(void);
55
int log_state_get_log_as_admin_user(void);
57
void log_state_set_log_context(void *context);
59
int sge_log(int log_level, const char *mesg, const char *file__,
60
const char *func__, int line__);
62
/* extern stringTlong SGE_EVENT; */
63
#define SGE_EVENT log_get_log_buffer()
65
#ifdef NO_SGE_COMPILE_DEBUG
69
#define SGE_LOG(level,msg) sge_log(level, msg, __FILE__, SGE_FUNC, __LINE__ );
71
#if defined(__INSURE__)
72
# define PROFILING(x) (sprintf x,sge_log(LOG_PROF, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
73
# define CRITICAL(x) (sprintf x,sge_log(LOG_CRIT, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
74
# define ERROR(x) (sprintf x,sge_log(LOG_ERR, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
75
# define WARNING(x) (sprintf x,sge_log(LOG_WARNING,SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
76
# define NOTICE(x) (sprintf x,sge_log(LOG_NOTICE, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
77
# define INFO(x) (sprintf x,sge_log(LOG_INFO, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
78
# define DEBUG(x) (sprintf x,sge_log(LOG_DEBUG, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)) ? 1 : 0
81
/****** uti/log/PROFILING() ****************************************************
83
* PROFILING() -- Log a profiling message
86
* #define PROFILING(params)
87
* void PROFILING(char *buffer, const char* formatstring, ...)
90
* Log a profiling message
93
* buffer - e.g SGE_EVENT
94
* formatstring - printf formatstring
96
******************************************************************************/
97
#ifdef __SGE_COMPILE_WITH_GETTEXT__
98
# define PROFILING(x) (sge_set_message_id_output(1), \
100
sge_set_message_id_output(0), \
101
sge_log(LOG_PROF, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
103
# define PROFILING(x) (sprintf x, \
104
sge_log(LOG_PROF, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
107
/****** uti/log/CRITICAL() ****************************************************
109
* CRITICAL() -- Log a critical message
112
* #define CRITICAL(params)
113
* void CRITICAL(char *buffer, const char* formatstring, ...)
116
* Log a critical message
119
* buffer - e.g SGE_EVENT
120
* formatstring - printf formatstring
122
******************************************************************************/
123
#ifdef __SGE_COMPILE_WITH_GETTEXT__
124
# define CRITICAL(x) (sge_set_message_id_output(1), \
126
sge_set_message_id_output(0), \
127
sge_log(LOG_CRIT, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
129
# define CRITICAL(x) (sprintf x, \
130
sge_log(LOG_CRIT, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
133
/****** uti/log/ERROR() *******************************************************
135
* ERROR() -- Log an error message
138
* #define ERROR(params)
139
* void ERROR(char *buffer, const char* formatstring, ...)
142
* Log a error message
145
* buffer - e.g SGE_EVENT
146
* formatstring - printf formatstring
148
******************************************************************************/
149
#ifdef __SGE_COMPILE_WITH_GETTEXT__
150
# define ERROR(x) ( sge_set_message_id_output(1), \
152
sge_set_message_id_output(0), \
153
sge_log(LOG_ERR,SGE_EVENT,__FILE__,SGE_FUNC,__LINE__), 1) ? 1 : 0
155
# define ERROR(x) (sprintf x, \
156
sge_log(LOG_ERR,SGE_EVENT,__FILE__,SGE_FUNC,__LINE__), 1) ? 1 : 0
159
/****** uti/log/WARNING() ******************************************************
161
* WARNING() -- Log an warning message
164
* #define WARNING(params)
165
* void WARNING(char *buffer, const char* formatstring, ...)
168
* Log a warning message
171
* buffer - e.g SGE_EVENT
172
* formatstring - printf formatstring
174
******************************************************************************/
175
#ifdef __SGE_COMPILE_WITH_GETTEXT__
176
# define WARNING(x) ( sge_set_message_id_output(1), \
178
sge_set_message_id_output(0), \
179
sge_log(LOG_WARNING,SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
181
# define WARNING(x) ( sprintf x, \
182
sge_log(LOG_WARNING,SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
185
/****** uti/log/NOTICE() ******************************************************
187
* NOTICE() -- Log a notice message
190
* #define NOTICE(params)
191
* void NOTICE(char *buffer, const char* formatstring, ...)
194
* Log a notice message
197
* buffer - e.g SGE_EVENT
198
* formatstring - printf formatstring
200
******************************************************************************/
201
# define NOTICE(x) (sprintf x, \
202
sge_log(LOG_NOTICE, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
204
/****** uti/log/INFO() ********************************************************
206
* INFO() -- Log an info message
209
* #define INFO(params)
210
* void INFO(char *buffer, const char* formatstring, ...)
213
* Log an info message
216
* buffer - e.g SGE_EVENT
217
* formatstring - printf formatstring
219
******************************************************************************/
220
# define INFO(x) (sprintf x, \
221
sge_log(LOG_INFO, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
223
/****** uti/log/DEBUG() ******************************************************
225
* DEBUG() -- Log a debug message
228
* #define DEBUG(params)
229
* void DEBUG(char *buffer, const char* formatstring, ...)
232
* Log a debug message
235
* buffer - e.g SGE_EVENT
236
* formatstring - printf formatstring
238
******************************************************************************/
239
#ifdef __SGE_COMPILE_WITH_GETTEXT__
240
# define DEBUG(x) ((LOG_DEBUG <= MAX(log_state_get_log_level(), LOG_WARNING)) ? (sge_set_message_id_output(1), \
242
sge_set_message_id_output(0), sge_log(LOG_DEBUG, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__)): 0 ,1) ? 1 : 0
244
/* (sge_set_message_id_output(1), \
246
sge_set_message_id_output(0), \
247
sge_log(LOG_DEBUG, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0 */
249
# define DEBUG(x) (sprintf x, \
250
sge_log(LOG_DEBUG, SGE_EVENT,__FILE__,SGE_FUNC,__LINE__) ,1) ? 1 : 0
254
/****** uti/log/SGE_ASSERT() **************************************************
256
* SGE_ASSERT() -- Log a message and exit if assertion is false
259
* #define SGE_ASSERT(expression)
260
* void SGE_ASSERT(int expression)
263
* Log a critical message and exit if assertion is false.
266
* expression - a logical expression
267
******************************************************************************/
268
#if defined(_AIX) || defined(SVR3)
269
# define SGE_ASSERT(x) \
273
sge_log(LOG_CRIT, # x ,__FILE__,SGE_FUNC,__LINE__); \
274
sge_log(LOG_CRIT, MSG_UNREC_ERROR,__FILE__,SGE_FUNC,__LINE__); \
278
# define SGE_ASSERT(x) \
282
sge_log(LOG_CRIT, MSG_UNREC_ERROR,__FILE__,SGE_FUNC,__LINE__); \
287
#endif /* __SGE_LOG_H */