2012-09-15 26 views
16

Trên IntelliJ, tôi đang cố đọc logcat để tìm lỗi.Làm cách nào để chỉ lọc nhật ký ứng dụng của tôi trong nhật ký của IntelliJ?

Vấn đề là tất cả nhật ký của ứng dụng đều có trong Cửa sổ 'Android'.

Làm cách nào để chỉ hiển thị nhật ký có liên quan?

Tôi không tìm kiếm thẻ vì tôi muốn xem ngoại lệ ném, Segfaults từ JNI, v.v.

Cảm ơn!

+0

Vote cho tính năng ở đây: http://youtrack.jetbrains.com/issue/IDEA-95780 – loeschg

Trả lời

1

Bạn có thể lọc theo quá trình ID (PID):

Filter by PID

Hạn chế duy nhất là thay đổi PID và bạn sẽ phải điều chỉnh bộ lọc sau mỗi lần khởi động lại ứng dụng.

+1

làm thế nào để bạn có được PID – jAckOdE

+3

@jAckOdE // trễ trả lời, nhưng giúp cho những người khác, bạn có thể thấy số trong bảng điều khiển DDMS Android 'packagename (12334)', số 12334 là PID. dù sao thì cũng không thoải mái khi cấu hình bộ lọc PID mọi lúc khi gỡ lỗi. – Youngjae

0

Phụ thuộc vào những gì bạn đang cố gắng làm. Trong cửa sổ logcat, bạn sẽ có một cửa sổ rỗng không có tên "Filters" với + hoặc - bên cạnh nó (như xuất hiện trong IntelliJ IDEA 12) và nó sẽ bật lên một cửa sổ như sau:

Filter window

Nếu log Tag không phải những gì bạn cần, bạn có thể lọc dựa trên một regexp trong thông điệp đăng nhập riêng của mình (ví dụ: nếu thông điệp luôn luôn bắt đầu với seek error, sau đó nhập seek và nó sẽ tìm thấy nó. Nếu bạn đặt là Cấp độ Đăng nhập thành Chi tiết phải khớp với bất kỳ thứ gì được ghi vào nhật ký.

5

Lọc dựa trên ứng dụng (gói) không có sẵn có thể trong IntelliJ IDEA (phiên bản hiện tại: 12).

4

EDIT: Tất cả mọi thứ trên hard rule là câu trả lời của tôi mới (cập nhật 5/17/13):

tôi muốn đề nghị chuyển giao cho mới Android Studio IDE (có trụ sở của IntelliJ). Điều này cho phép lọc theo tên gói.


Bạn có thể bỏ phiếu cho các tính năng được thêm vào ở đây: http://youtrack.jetbrains.com/issue/IDEA-95780

Trong khi đó, bạn có thể suy nghĩ về gói lớp Android Đăng nhập để thêm một hậu tố/prefix mà bạn sau đó có thể lọc theo. Giống như sau:

/** 
* Wrapper for the Android {@link Log} class. 
* <br><br> 
* The primary reason for doing this is to add a unique prefix to all tags for easier filtering 
* in IntelliJ IDEA (since in v12 there is no way to filter by application). 
* 
* @author gloesch 
*/ 
public class Logger { 

    private static final String FILTER = "(MY APP) "; 

    public static void d(String tag, String message) { 
     Log.d(tag.concat(FILTER), message); 
    } 

    public static void i(String tag, String message) { 
     Log.i(tag.concat(FILTER), message); 
    } 

    public static void v(String tag, String message) { 
     Log.v(tag.concat(FILTER), message); 
    } 

    public static void e(String tag, String message) { 
     Log.e(tag.concat(FILTER), message); 
    } 

    public static void w(String tag, String message) { 
     Log.w(tag.concat(FILTER), message); 
    } 

    public static void wtf(String tag, String message) { 
     Log.wtf(tag.concat(FILTER), message); 
    } 
} 
Các vấn đề liên quan