जवाबों:
में देखो android.util.Log
। यह आपको विभिन्न लॉग स्तरों के साथ लॉग को लिखने की सुविधा देता है, और आप आउटपुट को समूहीकृत करने के लिए विभिन्न टैग निर्दिष्ट कर सकते हैं। उदाहरण के लिए
Log.w("myApp", "no network");
टैग myApp और संदेश नेटवर्क के साथ एक चेतावनी आउटपुट करेगा।
w
में Log.w(...)
चेतावनी के लिए खड़ा है। कर रहे हैं और अधिक : संस्करणों d
, डिबग - e
, त्रुटि - i
- जानकारी, v
- वर्बोज़, wtf
- क्या एक भयानक विफलता। ;-)
टैग का उपयोग आसानी से अपने आउटपुट को खोजने के लिए किया जाता है, क्योंकि लॉगकैट का आउटपुट कभी-कभी बहुत लंबा हो सकता है। आप अपनी कक्षा में कहीं भी परिभाषित कर सकते हैं:
निजी स्थिर अंतिम स्ट्रिंग TAG = "myApp";
और डीबगिंग के समय इसका उपयोग करें
Log.v (TAG, "कुछ किया");
आप केवल टैग के लिए खोज करने के लिए फ़िल्टर भी लागू कर सकते हैं।
का प्रयोग करें android.util.Log
और वहाँ परिभाषित स्थिर तरीके (जैसे e()
, w()
)।
कृपया इस तरह से लॉग देखें,
Log.e("ApiUrl = ", "MyApiUrl") (error)
Log.w("ApiUrl = ", "MyApiUrl") (warning)
Log.i("ApiUrl = ", "MyApiUrl") (information)
Log.d("ApiUrl = ", "MyApiUrl") (debug)
Log.v("ApiUrl = ", "MyApiUrl") (verbose)
आप RDALogger नामक मेरे परिवाद का उपयोग कर सकते हैं। यहाँ जीथब लिंक है ।
इस पुस्तकालय के साथ, आप अपना नाम विधि नाम / वर्ग नाम / लाइन नंबर और एंकर लिंक के साथ लॉग इन कर सकते हैं। इस लिंक के साथ, जब आप लॉग पर क्लिक करते हैं, तो स्क्रीन कोड की इस लाइन पर जाती है।
पुस्तकालय का उपयोग करने के लिए, आपको नीचे कार्यान्वयन करना होगा।
जड़ स्तर में ग्रेडन
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
ऐप लेवल ग्रेडेल में
dependencies {
implementation 'com.github.ardakaplan:RDALogger:1.0.0'
}
लाइब्रेरी को इनिशियलाइज़ करने के लिए, आपको इस तरह शुरू करना चाहिए (Application.class में या पहले इस्तेमाल से पहले)
RDALogger.start("TAG NAME").enableLogging(true);
और तुम जो चाहो, उससे तुम लॉग कर सकते हो;
RDALogger.info("info");
RDALogger.debug("debug");
RDALogger.verbose("verbose");
RDALogger.warn("warn");
RDALogger.error("error");
RDALogger.error(new Throwable());
RDALogger.error("error", new Throwable());
और अंत में आउटपुट आपको वह सब दिखाता है जो आप चाहते हैं (वर्ग का नाम, विधि का नाम, लंगर लिंक, संदेश)
08-09 11:13:06.023 20025-20025/com.ardakaplan.application I/Application: IN CLASS : (ENApplication.java:29) /// IN METHOD : onCreate
info
String one = object.getdata();
Log.d(one,"");
हाल ही में मुझे एंड्रॉइड में लॉग लिखने के लिए यह दृष्टिकोण मिला, जो मुझे लगता है कि सुपर कमाल है।
public static final boolean FORCED_LOGGING = true;
private static final int CALLER_STACK_INDEX = 3;
public static void showLogs(String message) {
if (FORCED_LOGGING) {
StackTraceElement caller = Thread.currentThread().getStackTrace()[CALLER_STACK_INDEX];
String fullClassName = caller.getClassName();
String className = fullClassName.substring(fullClassName.lastIndexOf('.') + 1);
String methodName = caller.getMethodName();
int lineNumber = caller.getLineNumber();
Log.i("*** " + className + "." + methodName + "():" + lineNumber + "\n" , message);
}
}
log.d
क्या अलग होगा ?