comparison OrthancServer/Sources/OrthancInitialization.cpp @ 4281:d2f79a475b51

debug log for DCMTK SCU
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 04 Nov 2020 13:48:42 +0100
parents 58e757ded69e
children 6a39ca7083b9
comparison
equal deleted inserted replaced
4280:58e757ded69e 4281:d2f79a475b51
397 } 397 }
398 398
399 399
400 static void SetDcmtkVerbosity(Verbosity verbosity) 400 static void SetDcmtkVerbosity(Verbosity verbosity)
401 { 401 {
402 // INFO_LOG_LEVEL was the DCMTK log level in Orthanc <= 1.8.0
402 // https://support.dcmtk.org/docs-dcmrt/classOFLogger.html#ae20bf2616f15313c1f089da2eefb8245 403 // https://support.dcmtk.org/docs-dcmrt/classOFLogger.html#ae20bf2616f15313c1f089da2eefb8245
403 OFLogger::LogLevel level; 404
405 OFLogger::LogLevel dataLevel, networkLevel;
404 406
405 switch (verbosity) 407 switch (verbosity)
406 { 408 {
407 case Verbosity_Default: 409 case Verbosity_Default:
408 level = OFLogger::OFF_LOG_LEVEL; // No log 410 // Turn off logging in DCMTK core
411 dataLevel = OFLogger::OFF_LOG_LEVEL;
412 networkLevel = OFLogger::OFF_LOG_LEVEL;
409 break; 413 break;
410 414
411 case Verbosity_Verbose: 415 case Verbosity_Verbose:
412 level = OFLogger::INFO_LOG_LEVEL; // This was the default log level in Orthanc <= 1.8.0 416 dataLevel = OFLogger::INFO_LOG_LEVEL;
417 networkLevel = OFLogger::INFO_LOG_LEVEL;
413 break; 418 break;
414 419
415 case Verbosity_Trace: 420 case Verbosity_Trace:
416 level = OFLogger::DEBUG_LOG_LEVEL; 421 dataLevel = OFLogger::INFO_LOG_LEVEL; // DEBUG here makes DCMTK too verbose to be useful
422 networkLevel = OFLogger::DEBUG_LOG_LEVEL;
417 break; 423 break;
418 424
419 default: 425 default:
420 throw OrthancException(ErrorCode_ParameterOutOfRange); 426 throw OrthancException(ErrorCode_ParameterOutOfRange);
421 } 427 }
422 428
423 OFLog::configure(level); 429 OFLog::configure(dataLevel);
424 assert(dcmtk::log4cplus::Logger::getRoot().getChainedLogLevel() == level); 430 assert(dcmtk::log4cplus::Logger::getRoot().getChainedLogLevel() == dataLevel);
425 431
426 DCM_dcmdataLogger.setLogLevel(level); 432 DCM_dcmdataLogger.setLogLevel(dataLevel); // This seems to be implied by "OFLog::configure()"
427 DCM_dcmnetLogger.setLogLevel(level); 433 DCM_dcmnetLogger.setLogLevel(networkLevel); // This will display PDU in DICOM networking
428 } 434 }
429 435
430 436
431 void SetGlobalVerbosity(Verbosity verbosity) 437 void SetGlobalVerbosity(Verbosity verbosity)
432 { 438 {