วิธีส่งข้อความไปยังคอนโซล Eclipse เมื่อพัฒนาสำหรับ Android


164

ฉันจะพิมพ์ข้อความ (เช่นการตั้งค่าสถานะ) ไปยังคอนโซล Eclipse (หรือบันทึก) ได้อย่างไรเมื่อพัฒนาและดีบักแอป Android

คำตอบ:


153

แทนที่จะพยายามส่งออกไปยังคอนโซลLogจะส่งออกไปยัง LogCat ซึ่งคุณสามารถหาได้ใน Eclipse โดยไปที่: Window-> Show View-> Other … -> Android-> LogCat

มีลักษณะที่เป็นข้อมูลอ้างอิงสำหรับLog

ประโยชน์ของการใช้ LogCat คือคุณสามารถพิมพ์สีที่แตกต่างกันขึ้นอยู่กับประเภทบันทึกของคุณเช่น: Log.dพิมพ์สีฟ้าLog.eพิมพ์สีส้ม นอกจากนี้คุณสามารถกรองตามแท็กบันทึก , ข้อความเข้าสู่ระบบ , หมายเลขกระบวนการและ / หรือชื่อโปรแกรมประยุกต์ สิ่งนี้มีประโยชน์จริง ๆ เมื่อคุณต้องการดูบันทึกของแอปและแยกสิ่งต่าง ๆ ของระบบออกจากกัน


3
ของฉันของฉันมันง่ายแค่ไหนที่สามารถ .... เกร็ดเล็กเกร็ดน้อยเหล่านี้ช่วยพวกเราที่ยังใหม่ต่อแพลตฟอร์มเหล่านี้ ขอบคุณ m6tt! FYI: มีตัวเลือกตัวกรองที่นี่ที่จะช่วยให้มาก ~
Sage

48
Log.v("blah", "blah blah");

คุณต้องเพิ่มมุมมองบันทึก Android ใน eclipse เพื่อดู นอกจากนี้ยังมีวิธีการอื่น ๆ ขึ้นอยู่กับความรุนแรงของข้อความ (ข้อผิดพลาด verbose คำเตือน ฯลฯ .. )


2
+1 แล้วทำในห้องสมุดเหรอ? ฉันพยายาม แต่มันไม่แสดงอะไรบน logcat
รอยลี

29

System.out.println()ยังส่งออกไปยัง LogCat ประโยชน์ของการใช้งาน old old System.out.println()คือคุณสามารถพิมพ์วัตถุเช่นSystem.out.println(object)คอนโซลหากคุณต้องการตรวจสอบว่าตัวแปรถูกเตรียมใช้งานหรือไม่

Log.d, Log.v, Log.wวิธีการ ฯลฯ เพียง แต่ช่วยให้คุณสามารถพิมพ์สตริงไปยังคอนโซลและไม่วัตถุ เพื่อหลีกเลี่ยงนี้ (ถ้าคุณต้องการ) String.formatคุณต้องใช้


3
toString()หรือสำหรับกรณีวัตถุคุณสามารถใช้ นี่คือสิ่งที่System.out.println(Object)ทำภายใน หากtoString()วิธีการของObjectตัวเองถูกนำมาใช้ (เช่นประเภทอาร์เรย์) แล้วคุณอาจไม่ได้รับผลประโยชน์
Maarten Bodewes

ช่วยฉันพิมพ์ ฉันรักเสมอเมื่อ Objects ดูแลตัวเอง ; )
Tirtha

Logมันไม่ได้ถ่ายโอนข้อมูลวัตถุที่จะพิมพ์เดียวกับ
Francisco Corrales Morales

.. และมันยังช่วยให้ฉันสร้างค่าคงที่สตริงสำหรับ Log.whever และพิมพ์ทุกครั้งที่ฉันต้องการบางอย่างในคอนโซลและจัดรูปแบบวัตถุเป็นสตริง
Tirtha

1
หากวัตถุของคุณเป็นโมฆะ toString () จะขว้าง NPE อย่างเห็นได้ชัด คุณไม่ควรเรียก toString () บนวัตถุในคำสั่งบันทึก แต่ควรใช้ไลบรารีการบันทึกที่จะทำการตรวจสอบเหล่านี้หากคุณเพิ่งผ่านวัตถุ
Thomas Eizinger

15

ฉันใช้วิธี Log.d โปรดนำเข้าด้วย import android.util.Log;

Log.d("TAG", "Message");

แต่โปรดจำไว้ว่าเมื่อคุณต้องการดูข้อความดีบั๊กแล้วอย่าใช้ Run As แทนที่จะใช้"Debug As"จากนั้นเลือกแอปพลิเคชัน Android มิฉะนั้นคุณจะไม่เห็นข้อความแก้ไขข้อบกพร่อง


0

ฉันใช้รูปแบบบันทึกด้านล่างสำหรับพิมพ์เนื้อหาของฉันใน logCat

Log.e("Msg","What you have to print");

พารามิเตอร์ตัวแรกเป็นแท็กไม่ข้อความ
msanford
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.