2828 *
2929 * All Rights Reserved.
3030 *
31- * Portions of this software are Copyright (c) 2023-2025 HPC-Gridware GmbH
31+ * Portions of this software are Copyright (c) 2023-2026 HPC-Gridware GmbH
3232 *
3333 ************************************************************************/
3434/*___INFO__MARK_END__*/
@@ -62,7 +62,6 @@ int log_state_get_log_verbose();
6262void
6363sge_log (u_long32 log_level , const char * msg , const char * file , int line );
6464
65- /* extern stringTlong SGE_EVENT; */
6665#define SGE_EVENT component_get_log_buffer()
6766#define SGE_EVENT_SIZE component_get_log_buffer_size()
6867
@@ -85,10 +84,11 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
8584* void PROFILING(char *buffer, const char* formatstring, ...)
8685*
8786* FUNCTION
88- * Log a profiling message
87+ * Log a profiling message .
88+ * When PROFILING is called, it will always be logged, independent on the log_level.
8989*
9090* INPUTS
91- * buffer - e.g SGE_EVENT
91+ * buffer - e.g., SGE_EVENT
9292* formatstring - printf formatstring
9393* ...
9494******************************************************************************/
@@ -99,7 +99,7 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
9999 sge_set_message_id_output(1); \
100100 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
101101 sge_set_message_id_output(0); \
102- sge_log(LOG_PROF, SGE_EVENT , __FILE__, __LINE__); \
102+ sge_log(LOG_PROF, log_buffer , __FILE__, __LINE__); \
103103} void()
104104#else
105105# define PROFILING (...) { \
@@ -133,7 +133,7 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
133133 sge_set_message_id_output(1); \
134134 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
135135 sge_set_message_id_output(0); \
136- sge_log(LOG_CRIT, SGE_EVENT , __FILE__, __LINE__); \
136+ sge_log(LOG_CRIT, log_buffer , __FILE__, __LINE__); \
137137} void()
138138#else
139139# define CRITICAL (...) { \
@@ -167,7 +167,7 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
167167 sge_set_message_id_output(1); \
168168 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
169169 sge_set_message_id_output(0); \
170- sge_log(LOG_ERR, SGE_EVENT , __FILE__, __LINE__); \
170+ sge_log(LOG_ERR, log_buffer , __FILE__, __LINE__); \
171171} void()
172172#else
173173# define ERROR (...) { \
@@ -201,7 +201,7 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
201201 sge_set_message_id_output(1); \
202202 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
203203 sge_set_message_id_output(0); \
204- sge_log(LOG_WARNING, SGE_EVENT , __FILE__, __LINE__); \
204+ sge_log(LOG_WARNING, log_buffer , __FILE__, __LINE__); \
205205} void()
206206#else
207207# define WARNING (...) { \
@@ -222,17 +222,20 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
222222*
223223* FUNCTION
224224* Log a notice message
225+ * @todo NOTICE is actually not used, consider removing it.
225226*
226227* INPUTS
227228* buffer - e.g SGE_EVENT
228229* formatstring - printf formatstring
229230* ...
230231******************************************************************************/
231232# define NOTICE (...) { \
232- char *log_buffer = component_get_log_buffer(); \
233- size_t log_buffer_size = component_get_log_buffer_size(); \
234- snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
235- sge_log(LOG_NOTICE, log_buffer, __FILE__, __LINE__); \
233+ if (LOG_NOTICE <= MAX(log_state_get_log_level(), LOG_WARNING)) { \
234+ char *log_buffer = component_get_log_buffer(); \
235+ size_t log_buffer_size = component_get_log_buffer_size(); \
236+ snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
237+ sge_log(LOG_NOTICE, log_buffer, __FILE__, __LINE__); \
238+ } \
236239} void()
237240
238241/****** uti/log/INFO() ********************************************************
@@ -252,7 +255,7 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
252255* ...
253256******************************************************************************/
254257/*
255- * I18N/L10N was missing for INFO messages.
258+ * @todo CS-1744 I18N/L10N was missing for INFO messages.
256259 * But enabling it leads to all clients printing "ok" as last output line
257260 * coming from MSG_GDI_OKNL being generated as ANSWER_QUALITY_END in sge_c_gdi()
258261 * might possibly need changes in some answer_list logging function?
@@ -264,18 +267,26 @@ sge_log(u_long32 log_level, const char *msg, const char *file, int line);
264267 sge_set_message_id_output(1); \
265268 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
266269 sge_set_message_id_output(0); \
267- sge_log(LOG_INFO, SGE_EVENT , __FILE__, __LINE__); \
270+ sge_log(LOG_INFO, log_buffer , __FILE__, __LINE__); \
268271 } \
269272} void()
270273#else
274+ # define INFO(...) { \
275+ if (LOG_INFO <= MAX(log_state_get_log_level(), LOG_WARNING)) { \
276+ char *log_buffer = component_get_log_buffer(); \
277+ size_t log_buffer_size = component_get_log_buffer_size(); \
278+ snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
279+ sge_log(LOG_INFO, log_buffer, __FILE__, __LINE__); \
280+ } \
281+ } void()
282+ #endif
271283*/
272284# define INFO (...) { \
273285 char *log_buffer = component_get_log_buffer(); \
274286 size_t log_buffer_size = component_get_log_buffer_size(); \
275287 snprintf(log_buffer, log_buffer_size, __VA_ARGS__); \
276288 sge_log(LOG_INFO, log_buffer, __FILE__, __LINE__); \
277289} void()
278- /* #endif */
279290
280291/****** uti/log/DEBUG() ******************************************************
281292* NAME
0 commit comments