2011-09-08 64 views
6

Đẩy nhanh tiến độ gỡ lỗi của tôi, tôi màu thông điệp nhất định cho đốm ngay lập tức, như thế này:Terser Tô màu của Thông điệp LogCat?

if (isOK) 
    Log.i(TAG, stringVarContentOfMessage); 
else 
    Log.v(TAG, stringVarContentOfMessage); 

Nó hoạt động, nhưng xem mã nguồn này hơn và hơn nữa, nơi mà sự biện minh chỉ dành cho chiếm 4 dòng quý là một trong nhân vật khác nhau duy nhất (Log.i vs. Log.v) là một sự chướng mắt đối với tôi.

Bất kỳ đề xuất nào để tránh sự chú ý này mà không cần sử dụng những điều sau đây?

isOK ? Log.i(TAG, stringVarContentOfMessage) : Log.v(TAG, stringVarContentOfMessage); 

Trả lời

3

Bạn có thể sử dụng Log.println():

Log.println(isOK ? Log.INFO : Log.VERBOSE, TAG, stringVarContentOfMessage); 
+0

Đây là một giải pháp tuyệt vời. Tôi biết về Log.x() nhưng tôi không biết về 'Log.println()'. Đã chấp nhận +1. – ateiob

3

Tạo một phương thức helper:

private void conditionalLog(boolean flag, String tag, String message); 
+3

Tôi muốn nói rằng nó không phải là riêng tư, nó phải công khai và tĩnh, nếu không truy cập vào nó sẽ được giới hạn chỉ một lớp. – darioo

+0

@ scompt.com Đó là một giải pháp tốt nhưng nó đòi hỏi phải thêm một phương pháp (đó là tốt khi không có bất kỳ phím tắt khác). +1. – ateiob

Các vấn đề liên quan