diff --git a/Modules/Core/Common/include/otbConfigurationManager.h b/Modules/Core/Common/include/otbConfigurationManager.h
index 8c8f9af7ccd5ab93838100e780fe1546b0d66a7a..4ac1dcc3728f8bb00d770fced767d349250ced2d 100644
--- a/Modules/Core/Common/include/otbConfigurationManager.h
+++ b/Modules/Core/Common/include/otbConfigurationManager.h
@@ -31,7 +31,7 @@
 
 #include <string>
 #include <boost/cstdint.hpp>
-
+#include "itkLoggerBase.h"
 #include "OTBCommonExport.h"
 
 namespace otb
@@ -84,6 +84,10 @@ public:
    */
   static RAMValueType GetMaxRAMHint();
 
+
+  static itk::LoggerBase::PriorityLevelType GetLoggerLevel();
+ 
+  
 private:
   ConfigurationManager(); //purposely not implemented
   ~ConfigurationManager(); //purposely not implemented
diff --git a/Modules/Core/Common/src/otbConfigurationManager.cxx b/Modules/Core/Common/src/otbConfigurationManager.cxx
index de0ea045799aaded54294a9eba4cbfe68598fd65..4add4e19be2e6eca9e1e65d119d5f9a980fd1ccc 100644
--- a/Modules/Core/Common/src/otbConfigurationManager.cxx
+++ b/Modules/Core/Common/src/otbConfigurationManager.cxx
@@ -23,6 +23,8 @@
 #include "itksys/SystemTools.hxx"
 
 #include <cstdlib>
+#include <algorithm>
+#include <string>
 
 namespace otb
 {
@@ -59,6 +61,35 @@ ConfigurationManager::RAMValueType ConfigurationManager::GetMaxRAMHint()
     }
   
   return value;
+}
+
+
+#define level_macro(x) \
+  {                                                                     \
+    std::string target = #x;                                            \
+    if(std::equal(svalue.begin(),svalue.end(),target.begin(),target.end())) \
+      level = itk::LoggerBase::x;                                       \
+  }                                                                     \
+
+
+itk::LoggerBase::PriorityLevelType ConfigurationManager::GetLoggerLevel()
+{
+  std::string svalue;
+
+  #ifndef NDEBUG
+  itk::LoggerBase::PriorityLevelType level = itk::LoggerBase::DEBUG;
+  #else
+  itk::LoggerBase::PriorityLevelType level = itk::LoggerBase::WARNING;
+  #endif
 
+  
+  if(itksys::SystemTools::GetEnv("OTB_LOGGER_LEVEL",svalue))
+    {
+    level_macro(DEBUG);
+    level_macro(WARNING);
+    level_macro(INFO);
+    }
+  return level;
 }
+
 }