@@ -90,9 +90,6 @@ bool GmmLib::Logger::GmmLogInit()
9090 {
9191 switch (static_cast <GmmLogLevel>(regkeyVal))
9292 {
93- case Off:
94- LogLevel = spdlog::level::off;
95- break ;
9693 case Trace:
9794 LogLevel = spdlog::level::trace;
9895 break ;
@@ -104,10 +101,20 @@ bool GmmLib::Logger::GmmLogInit()
104101 break ;
105102 case Critical:
106103 LogLevel = spdlog::level::critical;
107- }
104+ break ;
105+ case Off:
106+ default :
107+ LogLevel = spdlog::level::off;
108+ break ;
109+ }
108110 }
109111
110112#endif
113+ if (LogLevel == spdlog::level::off)
114+ {
115+ return false ;
116+ }
117+
111118 try
112119 {
113120 if (LogMethod == ToFile)
@@ -218,7 +225,7 @@ bool GmmLib::Logger::GmmLogInit()
218225// ///////////////////////////////////////////////////////////////////////////////////
219226GmmLib::Logger::Logger ()
220227 : LogMethod(ToOSLog),
221- LogLevel(spdlog::level::err )
228+ LogLevel(spdlog::level::off )
222229{
223230 if (!GmmLogInit ())
224231 {
@@ -260,28 +267,29 @@ inline int vscprintf_lin(const char *msg, va_list args)
260267// ///////////////////////////////////////////////////////////////////////////////////
261268extern " C" void GMM_STDCALL GmmLibLogging (GmmLogLevel Level, const char *str, ...)
262269{
263- va_list args;
264- va_start (args, str);
270+ va_list args;
271+
272+ if (GmmLoggerPerProc.SpdLogger )
273+ {
274+ va_start (args, str);
265275
266276#if _WIN32
267- const size_t length = _vscprintf (str, args);
277+ const size_t length = _vscprintf (str, args);
268278#else
269- const size_t length = vscprintf_lin (str, args);
279+ const size_t length = vscprintf_lin (str, args);
270280#endif
271281
272- char *temp = new char [length + 1 ];
282+ char *temp = new char [length + 1 ];
273283
274- if (temp)
275- {
284+ if (temp)
285+ {
276286
277287#if _WIN32
278- vsprintf_s (temp, length + 1 , str, args);
288+ vsprintf_s (temp, length + 1 , str, args);
279289#else
280- vsnprintf (temp, length + 1 , str, args);
290+ vsnprintf (temp, length + 1 , str, args);
281291#endif
282292
283- if (GmmLoggerPerProc.SpdLogger )
284- {
285293 switch (Level)
286294 {
287295 case Trace:
@@ -300,11 +308,12 @@ extern "C" void GMM_STDCALL GmmLibLogging(GmmLogLevel Level, const char *str, ..
300308 default :
301309 break ;
302310 }
303- }
304311
305- delete[] temp;
312+ delete[] temp;
313+ }
306314 }
307315
308316 va_end (args);
309317}
318+
310319#endif // #if GMM_LOG_AVAILABLE
0 commit comments