Mercurial > hg > orthanc
comparison OrthancServer/Sources/OrthancInitialization.cpp @ 4280:58e757ded69e
SetDcmtkVerbosity()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 04 Nov 2020 07:56:22 +0100 |
parents | 0034f855c023 |
children | d2f79a475b51 |
comparison
equal
deleted
inserted
replaced
4279:ab4d015af660 | 4280:58e757ded69e |
---|---|
49 #include "Database/SQLiteDatabaseWrapper.h" | 49 #include "Database/SQLiteDatabaseWrapper.h" |
50 #include "OrthancConfiguration.h" | 50 #include "OrthancConfiguration.h" |
51 | 51 |
52 #include <OrthancServerResources.h> | 52 #include <OrthancServerResources.h> |
53 | 53 |
54 #include <dcmtk/dcmnet/dul.h> // For dcmDisableGethostbyaddr() | 54 #include <dcmtk/dcmnet/dul.h> // For dcmDisableGethostbyaddr() |
55 #include <dcmtk/dcmnet/diutil.h> // For DCM_dcmnetLogger | |
55 | 56 |
56 | 57 |
57 | 58 |
58 namespace Orthanc | 59 namespace Orthanc |
59 { | 60 { |
391 | 392 |
392 | 393 |
393 IStorageArea* CreateStorageArea() | 394 IStorageArea* CreateStorageArea() |
394 { | 395 { |
395 return CreateFilesystemStorage(); | 396 return CreateFilesystemStorage(); |
396 } | 397 } |
398 | |
399 | |
400 static void SetDcmtkVerbosity(Verbosity verbosity) | |
401 { | |
402 // https://support.dcmtk.org/docs-dcmrt/classOFLogger.html#ae20bf2616f15313c1f089da2eefb8245 | |
403 OFLogger::LogLevel level; | |
404 | |
405 switch (verbosity) | |
406 { | |
407 case Verbosity_Default: | |
408 level = OFLogger::OFF_LOG_LEVEL; // No log | |
409 break; | |
410 | |
411 case Verbosity_Verbose: | |
412 level = OFLogger::INFO_LOG_LEVEL; // This was the default log level in Orthanc <= 1.8.0 | |
413 break; | |
414 | |
415 case Verbosity_Trace: | |
416 level = OFLogger::DEBUG_LOG_LEVEL; | |
417 break; | |
418 | |
419 default: | |
420 throw OrthancException(ErrorCode_ParameterOutOfRange); | |
421 } | |
422 | |
423 OFLog::configure(level); | |
424 assert(dcmtk::log4cplus::Logger::getRoot().getChainedLogLevel() == level); | |
425 | |
426 DCM_dcmdataLogger.setLogLevel(level); | |
427 DCM_dcmnetLogger.setLogLevel(level); | |
428 } | |
397 | 429 |
398 | 430 |
399 void SetGlobalVerbosity(Verbosity verbosity) | 431 void SetGlobalVerbosity(Verbosity verbosity) |
400 { | 432 { |
433 SetDcmtkVerbosity(verbosity); | |
434 | |
401 switch (verbosity) | 435 switch (verbosity) |
402 { | 436 { |
403 case Verbosity_Default: | 437 case Verbosity_Default: |
404 Logging::EnableInfoLevel(false); | 438 Logging::EnableInfoLevel(false); |
405 Logging::EnableTraceLevel(false); | 439 Logging::EnableTraceLevel(false); |
459 break; | 493 break; |
460 | 494 |
461 default: | 495 default: |
462 throw OrthancException(ErrorCode_ParameterOutOfRange); | 496 throw OrthancException(ErrorCode_ParameterOutOfRange); |
463 } | 497 } |
498 | |
499 if (category == Logging::LogCategory_DICOM) | |
500 { | |
501 SetDcmtkVerbosity(verbosity); | |
502 } | |
464 } | 503 } |
465 | 504 |
466 | 505 |
467 Verbosity GetCategoryVerbosity(Logging::LogCategory category) | 506 Verbosity GetCategoryVerbosity(Logging::LogCategory category) |
468 { | 507 { |