[ 
https://issues.apache.org/jira/browse/TWILL-138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15738705#comment-15738705
 ] 

ASF GitHub Bot commented on TWILL-138:
--------------------------------------

Github user chtyim commented on a diff in the pull request:

    https://github.com/apache/twill/pull/14#discussion_r91844855
  
    --- Diff: 
twill-yarn/src/main/java/org/apache/twill/yarn/YarnTwillPreparer.java ---
    @@ -384,6 +408,24 @@ private void setEnv(String runnableName, Map<String, 
String> env, boolean overwr
         }
       }
     
    +  private void saveLogLevels(LogEntry.Level level) {
    +    level = level == null ? LogEntry.Level.INFO : level;
    +    Map<String, String> appLogLevels = new HashMap<>();
    +    appLogLevels.put(Logger.ROOT_LOGGER_NAME, level.name());
    +    for (String runnableName : twillSpec.getRunnables().keySet()) {
    +      this.logLevels.put(runnableName, appLogLevels);
    +    }
    +  }
    +
    +  private void saveLogLevels(String runnableName, Map<String, 
LogEntry.Level> logLevels) {
    +    Map<String, String> newLevels = new HashMap<>();
    +    for (Map.Entry<String, LogEntry.Level> entry : logLevels.entrySet()) {
    +      Preconditions.checkArgument(entry.getValue() != null, "Log level 
cannot be null for logger {}", entry.getKey());
    +      newLevels.put(entry.getKey(), entry.getValue().name());
    +    }
    +    this.logLevels.get(runnableName).putAll(newLevels);
    --- End diff --
    
    We should always create a new map instead of calling `putAll`. The reason 
is the exposed method is call `setLogLevels`, not `addLogLevels` or 
`appendLogLevels`, which implies a overwriting instead of appending.


> Runtime change of Application runnable log level
> ------------------------------------------------
>
>                 Key: TWILL-138
>                 URL: https://issues.apache.org/jira/browse/TWILL-138
>             Project: Apache Twill
>          Issue Type: New Feature
>          Components: core
>            Reporter: Henry Saputra
>
> With TWILL-24 is supported for setting log level when starting the Twill 
> application, next enhancement is to able to send command to update the 
> aggregate log level for a particular runnable in a Twill application.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to