]> SALOME platform Git repositories - modules/kernel.git/commitdiff
Salome HOME
[EDF27562] : Switch on/off log programmaticaly
authorAnthony Geay <anthony.geay@edf.fr>
Fri, 8 Sep 2023 15:13:15 +0000 (17:13 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Fri, 8 Sep 2023 15:13:15 +0000 (17:13 +0200)
src/Basics/KernelBasis.i
src/Basics/libSALOMELog.cxx
src/Basics/libSALOMELog.hxx

index 7bbcf28d31c2dddf2db5e64f4f7b4f2d43cdfa7b..b159904c2c2e7b4a596c584ea952ada7ebc8b9c4 100644 (file)
@@ -22,6 +22,7 @@
 %{
 #include "KernelBasis.hxx"
 #include "HeatMarcel.hxx"
+#include "libSALOMELog.hxx"
 using namespace SALOME;
 %}
 
@@ -40,6 +41,11 @@ void setIOROfEmbeddedNS(const std::string& ior);
 
 double GetTimeAdjustmentCst();
 
+bool VerbosityActivated();
+
+void SetVerbosityActivated(bool flag);
+
+
 %inline
 {
 PyObject *HeatMarcelSwig(double timeAjustment, unsigned int nbThreads = 0)
index fe0beeb2a355239ec7f13f1afedef8a2e98e9b92..b1d1332e61db1fc96f132ba8f6945b5b3feb0fb7 100644 (file)
 #include <string>
 #include <iostream>
 
+enum class VerbosityMode { undefined, nolog, withlog };
+
+static VerbosityMode isActivated = VerbosityMode::undefined;
+
 namespace SALOME
 {
 
@@ -43,7 +47,7 @@ namespace SALOME
 
   bool VerbosityActivated()
   {
-    auto isEnvVarSet = []() -> bool
+    auto isEnvVarSet = []() -> VerbosityMode
     {
       const char* envVar = std::getenv("SALOME_VERBOSE");
 
@@ -52,7 +56,7 @@ namespace SALOME
         try
         {
           const long long numValue = std::stoll(envVar);
-          return numValue > 0;
+          return numValue > 0?VerbosityMode::withlog:VerbosityMode::nolog;
         }
         catch(const std::exception& e)
         {
@@ -60,10 +64,16 @@ namespace SALOME
         }
       }
 
-      return false;
+      return VerbosityMode::nolog;
     };
 
-    static const bool isActivated = isEnvVarSet();
-    return isActivated;
+    if(isActivated == VerbosityMode::undefined)
+      isActivated = isEnvVarSet();
+    return isActivated == VerbosityMode::withlog;
+  }
+
+  void SetVerbosityActivated(bool flag)
+  {
+    isActivated = flag ? VerbosityMode::withlog:VerbosityMode::nolog;
   }
 }
index 93949515b382eac5203a0fd74722f9e895e1020d..7d4b70611e3c5147206c8182fcf78f5f3d54474c 100644 (file)
@@ -29,4 +29,5 @@
 namespace SALOME
 {
   bool BASICS_EXPORT VerbosityActivated();
+  void BASICS_EXPORT SetVerbosityActivated(bool);
 }