2014-09-18 8 views
7

मैं उपयोगकर्ता रेफर-जावा क्लाइंट के साथ उपयोगकर्ता संदर्भ कैसे सेट कर सकता हूं?सेंट्री रावेन-जावा उपयोगकर्ता संदर्भ

मैंने user_email टैग जोड़ने और एमडीसी में user_email जोड़ने का प्रयास किया है। वे दोनों टैग के टैग के साथ, और एमडीसी अतिरिक्त डेटा पर जाने के साथ उम्मीद करते हैं, लेकिन न तो प्रेषित उपयोगकर्ता संदर्भ सेट करता है।

मैं भी जावास्क्रिप्ट के साथ संतरी उपयोग करें, और काला कौआ-js साथ, इस महान काम करता है:

Raven.setUserContext({ 
    email: '', 
    id: '' 
}); 

वहाँ एक जावा बराबर है?

+0

https://github.com/getsentry/raven-java/issues देखें/110 - 5.1.0 के रूप में आप एक नया उपयोगकर्ता इंटरफेस (आईडी, उपयोगकर्ता नाम, आईपीएड्रेस, ईमेल) ' – Alden

उत्तर

0
https://github.com/getsentry/raven-java/tree/master/raven-log4j#mapped-tags से

:

सेट नक्शा टैग appender में:

log4j.appender.SentryAppender.mappedTags=User,OS 

और क्रम में MDC सेट:

void logWithExtras() { 
    // MDC extras 
    MDC.put("User", "test user"); 
    MDC.put("OS", "Linux"); 

    // This adds a message with extras and MDC keys declared in mappedTags as tags to Sentry 
    logger.info("This is a test"); 
} 
+0

जोड़ सकते हैं हम उपयोगकर्ता आईडी, उपयोगकर्ता नाम, ईमेल कैसे पास करते हैं ताकि यह क्लाइंट के समान काम करता है? –

1

लगता नहीं logback द्वारा सीधे उपयोगकर्ता जानकारी भेज सकते हैं। आप रैवेन-जावा से कार्यान्वयन देख सकते हैं:

protected Event buildEvent(ILoggingEvent iLoggingEvent) { 
    EventBuilder eventBuilder = new EventBuilder() 
      .withTimestamp(new Date(iLoggingEvent.getTimeStamp())) 
      .withMessage(iLoggingEvent.getFormattedMessage()) 
      .withLogger(iLoggingEvent.getLoggerName()) 
      .withLevel(formatLevel(iLoggingEvent.getLevel())) 
      .withExtra(THREAD_NAME, iLoggingEvent.getThreadName()); 
    ...... 
} 

उपयोगकर्ता की जानकारी द्वारा भेज रहा है: withSentryInterface (नई UserInterface (...)), मैं यह लागू लेकिन क्या देखते हैं केवल के लिए कोड शामिल हैं: StackTraceInterface और MessageInterface। मुझे लगता है कि आप अपने आप से एक जोड़ सकते हैं।

0

अगर अब भी रुचि रखते हैं, स्टार्टअप पर चलाने (यह मानते हुए "उपयोगकर्ता id" और "आईपी" MDC पर स्थापित कर रहे हैं):

Raven.getStoredInstance().addBuilderHelper(eventBuilder -> { 
    UserInterface userInterface = new UserInterface(MDC.get("userid"), null, MDC.get("ip"), null); 
    eventBuilder.withSentryInterface(userInterface); 
}); 
संबंधित मुद्दे