kullanarak etiketi ile süzgeçle Logcat: "com.myapp" Ben ilk bölümü prepend her bir günlük deyimi içinAndroid: my Etiketler hep böyle bakmak oturum açarken bir regex
com.myapp.SomeActivity
log çağrısı yapan sınıfın etiketine. Örneğin:
MyActivity extends Activity{
private static final String TAG = "MyActivity";
public void someMethod(){
LogWrapper.e(TAG, "Something is wrong here.");
}
}
Benim sınıf LogWrapper temelde aşağıdaki
public class LogWrapper {
private static final String applicationTAG = "com.myapp.";
public static void e(String classTag, String message){
Log.e(applicationTAG + classTag, message);
}
}
yapar Yani yaptığım sınıfın etiketine statik Tag Önlerine edilir. Nedeni, logcat çıktısını benim uygulama yazdığım Log deyimleriyle filtrelemek ve log dosyamı sistemden veya diğer uygulamalardan günlükler ile karıştırmamaktan kaçınmak.
Dolayısıyla böyle Kayıtlar elde geldi:String command = "logcat -d -v time com.myapp.*:I *:S"
Process process = Runtime.getRuntime().exec(command);
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
log.append(line);
log.append(StringUtils.NEW_LINE);
}
Ancak, boş kayıt dosyasına ile sonuna kadar. Hangi bana bir şey regex ifadesi yapar "com.myapp. : Ben" çalışmıyor. Aynı zamanda asteriks'i () atlamayı denedim ama bu da işe yaramıyor. Ancak çalışırsam "*: Ben" kullanırsam.
Sadece bir etiket adıyla filtrelemenin mümkün olup olmadığını merak etmeme neden olan şey nedir? "Com.myapp" tarafından filtrelenen bir günlük tutmanın bir yolu var mı? ?
Ben B planı süre döngü içinde ben çizgi Etiketimi içeriyorsa kontrol etmek ve bu durum yalnızca ekler, ama gerçekten önlemek isterim ki olacağını tahmin ...