अगर मैं आपके लक्ष्यों को गलत समझ रहा हूं, तो मैं क्षमा चाहता हूं, लेकिन शायद आप लॉगकैट या एंड्रॉइड लॉगिंग तंत्र का उपयोग करने के बजाय java.util.logging API का उपयोग कर सकते हैं।
एंड्रॉयड प्रवेश एपीआई की तरह, java.util.logging API आप आसानी से इस तरह के फाइन, बेहतर, चेतावनी, गंभीर, आदि के रूप में विभिन्न स्तरों पर संदेशों लॉग इन करने की अनुमति देता है
लेकिन मानक लॉगिंग एपीआई अतिरिक्त लाभ भी है। उदाहरण के लिए, FileHandler का उपयोग करके आप आसानी से लॉग फ़ाइल बना सकते हैं। वास्तव में, FileHandler में एक अंतर्निहित लॉग रोटेशन तंत्र है, इसलिए आपको लॉग फ़ाइलों को साफ करने के बारे में चिंता करने की आवश्यकता नहीं है (बहुत अधिक)। आप Logger एस का पदानुक्रम भी बना सकते हैं; इसलिए, उदाहरण के लिए, यदि आपके पास दो Logger एस हैं, com.example.foo और com.example.foo.bar, पूर्व के लॉगिंग स्तर को बदलने से बाद के लॉगिंग स्तर भी बदल जाएंगे। यह तब भी काम करेगा यदि विभिन्न 0 वर्गों में दो Logger एस बनाए गए हैं! इसके अलावा, आप लॉगिंग कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करके रनटाइम पर लॉगिंग व्यवहार बदलते हैं। अंत में, आप अपने स्वयं के Formatter को लागू करके लॉग के प्रारूप को कस्टमाइज़ कर सकते हैं (या डिफ़ॉल्ट XML प्रारूप से बचने के लिए बस SimpleFormatter का उपयोग करें)।
मानक लॉगिंग एपीआई का उपयोग करने के लिए आपको कुछ इस तरह की कोशिश कर सकते:
// Logger logger is an instance variable
// FileHandler logHandler is an instance variable
try {
String logDirectory =
Environment.getExternalStorageDirectory() + "/log_directory";
// the %g is the number of the current log in the rotation
String logFileName = logDirectory + "/logfile_base_name_%g.log";
// ...
// make sure that the log directory exists, or the next command will fail
//
// create a log file at the specified location that is capped 100kB. Keep up to 5 logs.
logHandler = new FileHandler(logFileName, 100 * 1024, 5);
// use a text-based format instead of the default XML-based format
logHandler.setFormatter(new SimpleFormatter());
// get the actual Logger
logger = Logger.getLogger("com.example.foo");
// Log to the file by associating the FileHandler with the log
logger.addHandler(logHandler);
}
catch (IOException ioe) {
// do something wise
}
// examples of using the logger
logger.finest("This message is only logged at the finest level (lowest/most-verbose level)");
logger.config("This is an config-level message (middle level)");
logger.severe("This is a severe-level message (highest/least-verbose level)");
एंड्रॉयड प्रवेश तंत्र निश्चित रूप से आसान और सुविधाजनक है। हालांकि, यह बहुत अनुकूलन योग्य नहीं है, और लॉग फ़िल्टरिंग टैग के साथ किया जाना चाहिए, जो आसानी से अनावश्यक हो सकता है।java.uitl.logging एपीआई का उपयोग करके, आप टैग की एक बड़ी संख्या से निपटने से बच सकते हैं, फिर भी लॉग फ़ाइल को अपने आवेदन के विशिष्ट हिस्सों में आसानी से सीमित कर सकते हैं, स्थान और उपस्थिति पर अधिक नियंत्रण प्राप्त कर सकते हैं, और रनटाइम पर लॉगिंग व्यवहार को भी अनुकूलित कर सकते हैं।
क्या तुमने कभी एक समाधान मिला? – JPM
हां। मैं Runtime.getRuntime()। Exec (cmd) से आउटपुट पढ़ने के लिए BufferedReader का उपयोग कर समाप्त हुआ। – Michael
क्या आप यहां एक उत्तर पोस्ट कर सकते हैं जो दिखाता है कि आपने क्या किया है, मेरे लिए और अन्य सभी को लाभ है? – JPM