You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ma...@apache.org on 2016/05/09 20:07:55 UTC

reef git commit: [REEF-1342] Allow to set log level per logger instance

Repository: reef
Updated Branches:
  refs/heads/master 5a8b518e3 -> 040a6b366


[REEF-1342] Allow to set log level per logger instance

This change:
  * Adds a per-instance log level, that defaults to Level.Unset
  * If the per-instance log level is set, use that to determine if a message is
logged; otherwise use the static log level.

JIRA:
  [REEF-1342](https://issues.apache.org/jira/browse/REEF-1342)

Pull request:
  This closes #965


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/040a6b36
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/040a6b36
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/040a6b36

Branch: refs/heads/master
Commit: 040a6b36666bafc31eb9c0881a5a37ec25deb086
Parents: 5a8b518
Author: Adrian Nicoara <an...@uwaterloo.ca>
Authored: Thu May 5 17:55:26 2016 -0700
Committer: Mariia Mykhailova <ma...@apache.org>
Committed: Mon May 9 12:04:10 2016 -0700

----------------------------------------------------------------------
 .../Runtime/Evaluator/Task/TaskRuntime.cs       |  2 +-
 .../Org.Apache.REEF.Utilities/Logging/Level.cs  |  6 ++++++
 .../Org.Apache.REEF.Utilities/Logging/Logger.cs | 22 ++++++++++++++++----
 3 files changed, 25 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/040a6b36/lang/cs/Org.Apache.REEF.Common/Runtime/Evaluator/Task/TaskRuntime.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Common/Runtime/Evaluator/Task/TaskRuntime.cs b/lang/cs/Org.Apache.REEF.Common/Runtime/Evaluator/Task/TaskRuntime.cs
index 654706a..d56731c 100644
--- a/lang/cs/Org.Apache.REEF.Common/Runtime/Evaluator/Task/TaskRuntime.cs
+++ b/lang/cs/Org.Apache.REEF.Common/Runtime/Evaluator/Task/TaskRuntime.cs
@@ -104,7 +104,7 @@ namespace Org.Apache.REEF.Common.Runtime.Evaluator.Task
 
                     const Level resultLogLevel = Level.Verbose;
 
-                    if (Logger.CustomLevel >= resultLogLevel && result != null && result.Length > 0)
+                    if (Logger.IsLoggable(resultLogLevel) && result != null && result.Length > 0)
                     {
                         Logger.Log(resultLogLevel,
                             "Task running result:\r\n" + System.Text.Encoding.Default.GetString(result));

http://git-wip-us.apache.org/repos/asf/reef/blob/040a6b36/lang/cs/Org.Apache.REEF.Utilities/Logging/Level.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Utilities/Logging/Level.cs b/lang/cs/Org.Apache.REEF.Utilities/Logging/Level.cs
index 5c32500..a444d9e 100644
--- a/lang/cs/Org.Apache.REEF.Utilities/Logging/Level.cs
+++ b/lang/cs/Org.Apache.REEF.Utilities/Logging/Level.cs
@@ -53,5 +53,11 @@ namespace Org.Apache.REEF.Utilities.Logging
         /// Output all debugging and tracing messages.
         /// </summary>
         Verbose = 6,
+
+        /// <summary>
+        /// Used by the logger to initialize the instance log level field,
+        /// indicating that it has not been set by a user yet.
+        /// </summary>
+        Unset,
     }
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/040a6b36/lang/cs/Org.Apache.REEF.Utilities/Logging/Logger.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Utilities/Logging/Logger.cs b/lang/cs/Org.Apache.REEF.Utilities/Logging/Logger.cs
index ba8d8a0..88772be 100644
--- a/lang/cs/Org.Apache.REEF.Utilities/Logging/Logger.cs
+++ b/lang/cs/Org.Apache.REEF.Utilities/Logging/Logger.cs
@@ -49,6 +49,8 @@ namespace Org.Apache.REEF.Utilities.Logging
 
         private static Level _customLevel = Level.Info;
 
+        private Level _instanceLevel = Level.Unset;
+
         private static List<TraceListener> _traceListeners;
 
         private readonly string _name;       
@@ -59,7 +61,6 @@ namespace Org.Apache.REEF.Utilities.Logging
         {
             _name = name;
             _traceSource = new TraceSource(_name, SourceLevels.All);
-            CustomLevel = _customLevel;
             if (TraceListeners.Count == 0)
             {
                 // before customized listener is added, we would need to log to console
@@ -88,6 +89,19 @@ namespace Org.Apache.REEF.Utilities.Logging
             }
         }
 
+        public Level InstanceLevel
+        {
+            get
+            {
+                return _instanceLevel;
+            }
+
+            set
+            {
+                _instanceLevel = value;
+            }
+        }
+
         public static List<TraceListener> TraceListeners
         {
             get
@@ -125,7 +139,7 @@ namespace Org.Apache.REEF.Utilities.Logging
         /// </summary>
         public bool IsLoggable(Level level)
         {
-            return CustomLevel >= level;
+            return (InstanceLevel != Level.Unset ? InstanceLevel : CustomLevel) >= level;
         }
 
         /// <summary>
@@ -140,7 +154,7 @@ namespace Org.Apache.REEF.Utilities.Logging
         /// <param name="args"></param>
         public void Log(Level level, string formatStr, params object[] args)
         {
-            if (CustomLevel >= level)
+            if (IsLoggable(level))
             {
                 string msg = FormatMessage(formatStr, args);
                 string logMessage = 
@@ -161,7 +175,7 @@ namespace Org.Apache.REEF.Utilities.Logging
         {
             string exceptionLog;
 
-            if (CustomLevel >= level && exception != null)
+            if (IsLoggable(level) && exception != null)
             {
                 exceptionLog = string.Format(
                     CultureInfo.InvariantCulture,