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

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_r87874799
  
    --- Diff: 
twill-yarn/src/main/java/org/apache/twill/internal/appmaster/RunningContainers.java
 ---
    @@ -575,18 +597,63 @@ private boolean removeContainerInfo(String 
containerId) {
         return false;
       }
     
    +  private void checkAndSetLogLevels(Message message, String runnableName) {
    +    String command = message.getCommand().getCommand();
    +    if (message.getType() != Message.Type.SYSTEM || 
!SystemMessages.LOG_LEVEL.equals(command)) {
    +      return;
    +    }
    +
    +    Map<String, LogEntry.Level> runnableLogLevels = 
copyAndConvertLogLevelsMap(message.getCommand().getOptions());
    +    if (!logLevels.containsKey(runnableName)) {
    +      logLevels.put(runnableName, runnableLogLevels);
    +    } else {
    +      logLevels.get(runnableName).putAll(runnableLogLevels);
    +    }
    +  }
    +
    +  private Location saveLogLevels() {
    +    LOG.debug("save the log level file");
    +    try {
    +      Gson gson = new GsonBuilder().serializeNulls().create();
    +      String jsonStr = gson.toJson(logLevels);
    +      String fileName = Hashing.md5().hashString(jsonStr) + "." + 
Constants.Files.LOG_LEVELS;
    +      Location location = applicationLocation.append(fileName);
    +      if (!location.exists()) {
    +        try (Writer writer = new 
OutputStreamWriter(location.getOutputStream(), Charsets.UTF_8)) {
    +          gson.toJson(logLevels, new TypeToken<Map<String, Map<String, 
LogEntry.Level>>>() { }.getType(), writer);
    --- End diff --
    
    Why need to encode again? You can just write the `jsonStr` to the file.


> 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