[ https://issues.apache.org/jira/browse/LOG4J2-1010?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15346564#comment-15346564 ]
Remko Popma edited comment on LOG4J2-1010 at 6/23/16 3:04 PM: -------------------------------------------------------------- In the Scala module, you would define a class, let's call it ScalaContextDataInjector, that implements ContextDataInjector. In the implementation of the {{injectContextData(List<Property> props, LogEvent evt)}} method, this class would obtain key-value pairs from the Scala Context or Locals, and put those in the LogEvent's CustomData. There would be some configuration option to tell {{ContextDataInjectorFactory}} to return {{ScalaContextDataInjector}} objects instead of the default {{DefaultContextDataInjector}} that Log4j would normally use. In Scala applications, users would set key-value pairs in the Scala Context or Locals, similar to how in a Java application one would put key-value pairs in the ThreadContext. You may want to provide a utility class for this in the log4j-scala module. was (Author: rem...@yahoo.com): In the Scala module, you would define a class, let's call it ScalaContextDataInjector, that implements ContextDataInjector. In the implementation of the {{injectContextData(List<Property> props, LogEvent evt)}} method, this class would obtain key-value pairs from the Scala Context or Locals, and put those in the LogEvent's CustomData. There would be some configuration option to tell {{ContextDataInjectorFactory}} to return {{ScalaContextDataInjector}} objects instead of the default {{DefaultContextDataInjector}} that Log4j would normally use. In your Scala application, you would set key-value pairs in the Scala Context or Locals, similar to how in a Java application one would put key-value pairs in the ThreadContext. > Injectable context properties > ----------------------------- > > Key: LOG4J2-1010 > URL: https://issues.apache.org/jira/browse/LOG4J2-1010 > Project: Log4j 2 > Issue Type: Improvement > Components: API > Affects Versions: 2.2 > Reporter: Mikael Ståldal > Attachments: properties.patch > > > It would be useful to have a way to inject context properties into a > {{LogEvent}}, as an alternative to {{ThreadContext}}. > In an asynchronous environment, using ThreadContext as currently implemented > is not so useful since JVM threads might not be coupled to the logical flow > of the application. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org