Erlang 21

logger_filters




erlang

logger_filters

मॉड्यूल

logger_filters

मॉड्यूल सारांश

लोगर के साथ उपयोग करने के लिए फिल्टर।

विवरण

इस मॉड्यूल से निर्यात किए गए सभी कार्यों को प्राथमिक या हैंडलर फिल्टर के रूप में उपयोग किया जा सकता है। देखें कि कैसे फ़िल्टर जोड़े जाते हैं, इसके बारे में अधिक जानकारी के लिए logger:add_primary_filter/2 और logger:add_handler_filter/3 देखें।

फ़िल्टर logger:remove_primary_filter/1 साथ logger:remove_primary_filter/1 दिए जाते हैं logger:remove_primary_filter/1 और logger:remove_handler_filter/2

निर्यात

डोमेन (LogEvent, Extra) -> logger:filter_return()

प्रकार

यह फ़िल्टर Metadata में एक domain फ़ील्ड के आधार पर लॉग इवेंट्स को फ़िल्टर करने का एक तरीका प्रदान करता है। यह फ़ील्ड वैकल्पिक है, और इसका उपयोग करने का उद्देश्य उदाहरण के लिए, एक विशिष्ट कार्यात्मक क्षेत्र से लॉग इवेंट्स को समूहबद्ध करना है। यह एक लकड़हारा हैंडलर में फ़िल्टरिंग या अन्य विशेष उपचार की अनुमति देता है।

एक डोमेन फ़ील्ड में परमाणुओं की एक सूची होनी चाहिए, जिससे छोटे और अधिक विशिष्ट डोमेन बनते हैं क्योंकि सूची लंबी होती जाती है। सबसे बड़ा डोमेन [] , जिसमें सभी संभव डोमेन शामिल हैं।

उदाहरण के लिए, निम्नलिखित डोमेन पर विचार करें:

D1 = [otp]
D2 = [otp, sasl]

D1 दो में से सबसे बड़ा है, और कहा जाता है कि यह D2 का सुपर-डोमेन है। D2 एक उप-डोमेन D1 D1 और D2 दोनों ही [] उप-डोमेन हैं।

उपरोक्त डोमेन का उपयोग Erlang / OTP से होने वाले लॉग के लिए किया जाता है। D1 निर्दिष्ट करता है कि लॉग इवेंट सामान्य रूप से Erlang / OTP से आता है, और D2 इंगित करता है कि लॉग इवेंट एक तथाकथित SASL report

domain/2 फ़ंक्शन के लिए Extra पैरामीटर निर्दिष्ट किया जाता है जब फ़िल्टर को logger:add_primary_filter/2 माध्यम से जोड़ना logger:add_primary_filter/2 या logger:add_handler_filter/3

फ़िल्टर MatchDomain खिलाफ लॉग इवेंट के मेटाडेटा ( Domain ) में domain फ़ील्ड के मूल्य की तुलना करता है। यदि Compare का मान फ़िल्टर से मेल खाता है:

sub

और Domain , MatchDomain एक उप-डोमेन के MatchDomain , अर्थात, यदि MatchDomain Domain का एक उपसर्ग है।

super

और Domain MatchDomain एक सुपर-डोमेन के MatchDomain , अर्थात, यदि Domain MatchDomain का एक उपसर्ग है।

equal

और Domain MatchDomain बराबर है।

not_equal

और Domain MatchDomain से भिन्न होता है, या यदि मेटाडेटा में कोई डोमेन फ़ील्ड नहीं है।

undefined

और मेटाडेटा में कोई डोमेन फ़ील्ड नहीं है। इस मामले में MatchDomain को [] सेट किया जाना चाहिए।

यदि फ़िल्टर मेल और Action log , तो लॉग इवेंट की अनुमति है। यदि फ़िल्टर मेल और Action stop , तो लॉग ईवेंट बंद कर दिया जाता है।

यदि फ़िल्टर मेल नहीं खाता है, तो यह ignore कर देता है, जिसका अर्थ है कि अन्य फ़िल्टर, या कॉन्फ़िगरेशन पैरामीटर filter_default , तय करें कि घटना की अनुमति है या नहीं।

लॉग इवेंट जिसमें कोई भी डोमेन फ़ील्ड नहीं है, केवल तभी मैच Compare जब Compare undefined या not_equal बराबर हो।

उदाहरण: डोमेन के साथ सभी घटनाओं को रोकें [otp, sasl | _] [otp, sasl | _]

logger:set_handler_config(h1, filter_default, log). % this is the default
Filter = {fun logger_filters:domain/2, {stop, sub, [otp, sasl]}}.
logger:add_handler_filter(h1, no_sasl, Filter).
ok
स्तर (तर्क, अतिरिक्त) -> logger:filter_return()

प्रकार

यह फ़िल्टर लॉग स्तर के आधार पर लॉग ईवेंट को फ़िल्टर करने का एक तरीका प्रदान करता है। यह लॉग के स्तर को एक निर्दिष्ट MatchLevel साथ तुलना करके लॉग ईवेंट से मेल खाता है

logger:add_primary_filter/2 माध्यम से फिल्टर जोड़ने पर Extra पैरामीटर निर्दिष्ट किया जाता है logger:add_primary_filter/2 या logger:add_handler_filter/3

फ़िल्टर इवेंट के लॉग स्तर ( Level ) के मान की तुलना MatchLevel को कॉल करके करता है logger:compare_levels(Level, MatchLevel) । यदि Operator का मान है तो फ़िल्टर मेल खाता है:

neq

और फंक्शन की तुलना lt या gt

eq

और तुलना फ़ंक्शन eq देता eq

lt

और फंक्शन की तुलना lt

gt

और फ़ंक्शन रिटर्न gt की तुलना करें।

lteq

और तुलना फ़ंक्शन lt या eq

gteq

और फ़ंक्शन फ़ंक्शन gt या eq लौटाता है।

यदि फ़िल्टर मेल और Action log , तो लॉग इवेंट की अनुमति है। यदि फ़िल्टर मेल और Action stop , तो लॉग ईवेंट बंद कर दिया जाता है।

यदि फ़िल्टर मेल नहीं खाता है, तो यह ignore कर देता है, जिसका अर्थ है कि अन्य फ़िल्टर, या कॉन्फ़िगरेशन पैरामीटर filter_default , यह तय करेगा कि घटना की अनुमति है या नहीं।

उदाहरण: केवल डीबग स्तर लॉग ईवेंट की अनुमति दें

logger:set_handler_config(h1, filter_default, stop).
Filter = {fun logger_filters:level/2, {log, eq, debug}}.
logger:add_handler_filter(h1, debug_only, Filter).
ok
प्रगति (प्रवेश, अतिरिक्त) -> logger:filter_return()

प्रकार

यह फ़िल्टर supervisor और application_controller सभी प्रगति रिपोर्ट से मेल खाता है।

यदि Extra log , तो प्रगति रिपोर्ट की अनुमति है। यदि Extra stop , तो प्रगति रिपोर्ट रोक दी जाती है।

फ़िल्टर रिटर्न अन्य सभी लॉग इवेंट्स के लिए ignore

Remote_gl (LogEvent, Extra) -> logger:filter_return()

प्रकार

यह फ़िल्टर एक ऐसी प्रक्रिया से उत्पन्न होने वाली सभी घटनाओं से मेल खाता है, जिसका समूह नेता दूरस्थ नोड पर है।

यदि Extra log , तो मिलान की अनुमति है। यदि Extra stop , तो मिलान की घटनाएं बंद हो जाती हैं।

फ़िल्टर रिटर्न अन्य सभी लॉग ईवेंट के लिए ignore

यह भी देखें

logger(3)