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

Chris Riccomini commented on SAMZA-361:
---------------------------------------

When we commit code to update SLF4J's MDC (SAMZA-310), we should make sure our 
logging code makes it easy to set the MDC's taskName variable so we're not 
constantly having to do this:

{code}
MDC.put(MDC_TASK_NAME, taskName)
// TaskInstance logic
info("some task log line")
// Switch back to container logic
MDC.put(MDC_TASK_NAME, emptyTaskName)
info("some container log line")
{code}

One idea would be something like this:

{code}
class TaskInstance(taskName: String, ...) implements Logging(taskName) {
  // ...
}
{code}

Then in Logging, something like:

{code}
def info() {
  if (!taskName.empty) {
  MDC.put(MDC_TASK_NAME, taskName)
  }
  info("some task log line")
  if (!taskName.empty) {
    MDC.put(MDC_TASK_NAME, emptyTaskName)
  }
}
{code}

This would allow us to continue to call info() in TaskInstance, and have the 
Logging class handle the MDC toggling for us.

Also, I think we should make our logging class API compatible with the current 
Grizzled Logging API. At least as close as possible (the proposed constructor 
change would be incompatible, for instance).

> Remove Grizzled SLF4J
> ---------------------
>
>                 Key: SAMZA-361
>                 URL: https://issues.apache.org/jira/browse/SAMZA-361
>             Project: Samza
>          Issue Type: Bug
>          Components: container
>    Affects Versions: 0.8.0
>            Reporter: Chris Riccomini
>             Fix For: 0.8.0
>
>
> The cons of Grizzled SLF4J outweigh the pros. We can [create a single 
> class|https://github.com/apache/kafka/blob/0.8.1/core/src/main/scala/kafka/utils/Logging.scala]
>  that does what we need for logging. Eliminating the Grizzled dependency 
> means that we'll have one less Scala binary to depend on. It will also give 
> us more control over SLF4J APis that we might want to use (e.g. the 
> [MDC|http://www.slf4j.org/api/org/slf4j/MDC.html], see SAMZA-310).



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to