กำหนดสีล็อกใน eclipse console


105

มีวิธีการกำหนดสีส่วนต่างๆของบันทึกใน eclipse console หรือไม่ ฉันรู้ว่าฉันสามารถส่งไปยังข้อผิดพลาดและสตรีมมาตรฐานและกำหนดสีให้แตกต่างกันได้ แต่ฉันกำลังมองหาบางส่วนในบรรทัดของรหัสหลบหนี ANSI (หรือ HTML อื่น ๆ ) ซึ่งฉันสามารถฝังสีในสตริงเพื่อให้มีสีใน บันทึก

แน่นอนว่าจะช่วยทำให้บิตที่สำคัญโดดเด่นโดยไม่ต้องใช้เลย์เอาต์แปลก ๆ แต่ให้เลย์เอาต์ไว้ในการตั้งค่า log4j

นี่คือตัวอย่างของสิ่งที่ฉันกำลังมองหา:

[INFO] ตารางเสร็จสมบูรณ์ ....... เท็จ

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

log.info (String.format ("ตารางเสร็จสมบูรณ์ ....... <blue>% s </blue>" isComplete));


ในหมายเหตุทั่วไปความสามารถในการฝังข้อมูลเมตาในบันทึกเพื่อช่วยในการนำเสนอบันทึกเหล่านี้ เช่นเดียวกับที่เราแท็กเนื้อหาหน้าเว็บเพื่อช่วยในการนำเสนอข้อมูลด้วย CSS


คุณสามารถใช้MulticolorLayoutจากjcabi-logตามที่อธิบายไว้ที่นี่: stackoverflow.com/questions/7848325
yegor256

ขัดขวาง! ANSI-Coloring ฉันควรดูครั้งต่อไปที่จะยิง Eclipse ของฉัน! ขอบคุณ. สำหรับ JCabi ฉันต้องการกำหนดบริบทให้กับคนตัดไม้ของฉันและไม่ค่อยเข้ากับชื่อชั้นเรียนดังนั้นฉันจึงสงสัยว่ากระดาษห่อแบบคงที่จะทำเคล็ดลับได้ ฉันมักจะต้องตั้งชื่อคนตัดไม้เป็นอินสแตนซ์แบบไดนามิกเนื่องจากทำให้ฉันใช้ข้อมูลการบันทึกได้อย่างมีประสิทธิภาพมากขึ้น
Newtopian

คำตอบ:


76

ลองใช้ Eclipse Plugin: Grep Console

[อัปเดต] :
ตามที่ผู้แสดงความคิดเห็นระบุ: เมื่อติดตั้ง Grep Console ใน Eclipse เวอร์ชันล่าสุดในปัจจุบันคุณต้องยกเลิกการเลือก "จัดกลุ่มรายการตามหมวดหมู่" ในกล่องโต้ตอบการติดตั้งเพื่อดูรายการที่มี
ตามที่ระบุไว้ใน@Lineปลั๊กอินสามารถติดตั้งได้อย่างง่ายดายผ่าน Eclipse Marketplace อีกครั้งโดยไม่ต้องเปลี่ยนตัวเลือกใด ๆ

[อัปเดต 2] :
ตามที่@azdevชี้ให้เห็นเพื่อให้ได้ไฮไลต์ที่เหมาะสม:

การป้อนสตริงตามตัวอักษรไม่ได้ผล เพื่อให้เส้นเป็นสีคุณต้องใส่สตริง .* ไว้ด้านใดด้านหนึ่งดังนี้: .*ERROR.*


3
ปลั๊กอินไม่เชื่อมต่อกับ Eclipse (Helios) ล่าสุด
sorin

1
การแก้ไขเกี่ยวกับปลั๊กอินที่ไม่ได้รับการพัฒนาอย่างจริงจังฉันถามผู้สร้างสองสามคำถามและได้รับคำตอบภายในไม่กี่ชั่วโมง! สำหรับรูปแบบปลั๊กอินจะใช้นิพจน์ทั่วไปดังนั้นจึงคาดว่าจะมีการปรับแต่งและการโกงบางอย่างเมื่อกำหนดค่า ฉันอยากจะแนะนำให้ติดตั้งปลั๊กอินนิพจน์ทั่วไปเพื่อลองคัดลอกสารสกัดจากคอนโซล เมื่อกำหนดค่าแล้วแม้ว่าจะใช้งานได้อย่างมีเสน่ห์
Newtopian

2
ในกรณีที่ใครกำลังมองหาเอกสารสำหรับ Grep Console: marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny Bullis

1
นอกจากนี้ในกรณีที่ต้องการความช่วยเหลือเกี่ยวกับรูปแบบ regex (ลิงก์ความช่วยเหลือนี้รวมอยู่ในกล่องโต้ตอบ Grep Console ใน eclipse ด้วย): docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern html
Danny Bullis

1
โปรดพิจารณาลบ [อัปเดต] ก่อน - ตอนนี้สามารถติดตั้งได้อย่างง่ายดายผ่านทาง Marketplace
สาย

18

จริงๆแล้วปลั๊กอิน ANSI Consoleจะเพิ่มการรองรับโค้ด Escape ANSI ไปยังคอนโซล Eclipse ในปัจจุบันก็จะมีข้อ จำกัด แต่โดยรหัสหนีที่ครอบคลุมหลายบรรทัดรั่วไหลอย่างไม่ถูกต้องสายอื่น ๆ เมื่อเลื่อนดูปัญหา # 3

มิฉะนั้นปลั๊กอินมุมมองเทอร์มินัลบางตัวตามที่อธิบายไว้ในคำถามอื่นนี้อาจเป็นตัวเลือกสำหรับบางคน


ผมใช้หน้าเว็บmihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console การสนับสนุน ansi ที่เรียบง่ายสมบูรณ์แบบในคอนโซล!
tutejszy

9

ตามที่ระบุไว้แล้วโดย @Benjamin Grep Console เป็นวิธีที่ยอดเยี่ยมในการปรับสีเอาต์พุตในคอนโซล

ฉันได้ทำวิดีโอสั้น ๆ เพื่อสาธิตวิธีการทำงานและได้รับการตอบกลับจากปลั๊กอิน Creator of the Grep Console เขากล่าวว่าGrep console 3 ได้รับการเผยแพร่แล้ว

นักแสดงหน้าจอ : http://www.youtube.com/watch?v=fXjgGZAxToc

อัปเดตไซต์

Grep Console 2
http://eclipse.musgit.com
(ต้องใช้ Eclipse 3.4 (Ganymede) หรือสูงกว่าและ Java 5.0 หรือสูงกว่า)

Grep Console 3
http://eclipse.schedenig.name
(ต้องการ Eclipse 3.7 (Indigo) หรือสูงกว่าและ Java 6.0 หรือสูงกว่า)


6

สิ่งที่เกี่ยวกับการใช้Logbackและตัวแปลงคุณสมบัติและบันทึกทุกอย่างใน log4j ซึ่งอาจช่วยให้คุณเห็นระดับความแตกต่างในสีที่แตกต่างกัน

โชคดี!

แก้ไข : ปลั๊กอินeclipse


4

เราใช้ปลั๊กอิน Ganymede Eclipse ในที่ที่ฉันทำงานและทำงานได้ดี

http://sourceforge.net/projects/ganymede/

"ปลั๊กอิน log4j สำหรับ Eclipse ที่ทำงานคล้ายกับเลื่อยไฟฟ้า (SocketServer) รวมถึงสีการกรองข้อมูลโดยละเอียดและบันทึกการตั้งค่า"


นี่เป็นปลั๊กอินที่ยอดเยี่ยมเกินไปที่พวกเขาไม่มีสำหรับ europa :(
branchgabriel

15
อาจสร้างความสับสนให้กับปลั๊กอิน Eclipse ที่เรียกว่า "ganymede"
JesperE

2

อ่านเกี่ยวกับจุดขยายorg.eclipse.ui.console.consolePatternMatchListeners


1
นั่นเป็นวิธีที่ถูกต้อง แต่ฉันคิดว่าผู้โพสต์หวังว่าจะมีคนทำสิ่งนี้สำหรับลำดับการหลีกเลี่ยง ansi หรือรหัสสี html
aepurniet

1

คุณอาจลองใช้ Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) หากคุณทำงานกับ log4j อยู่แล้ว ให้คุณกำหนดสีและฟิลเทอร์และใช้งานได้กับการกำหนดค่า (เกือบ) ศูนย์


ฉันได้ลองใช้เมื่อนานมาแล้วมันมีประโยชน์มากแม้ว่าฉันจะไม่รู้ว่ามันสามารถช่วยฉันได้ในกรณีนี้หรือไม่ ฉันคาดหวังว่ามันจะช่วยให้ฉันมีรายละเอียดมากขึ้นในการแสดงสีของแถว แต่ฉันต้องการมากกว่านั้น ... ฉันจะลองพรุ่งนี้
Newtopian

1

ฉันเคยใช้ปลั๊กอินนี้มาก่อนมันช่วยให้คุณสามารถระบายสีบรรทัดของบันทึกตาม regex ที่กำหนดเองได้

ตัวอย่างเช่นเมื่อฉันใช้มันบรรทัดใด ๆ ที่มีข้อผิดพลาดของคำจะเป็นสีแดงคำเตือนจะเป็นสีส้มข้อมูลจะเป็นสีน้ำเงิน ... ฯลฯ

เนื่องจากเป็น regex คุณสามารถทำอะไรก็ได้ ตั้งค่าให้เส้นเป็นสีเขียวทุกครั้งที่ขึ้นต้นด้วย ">>>" จากนั้นนำหน้าสตริงข้อความของคุณด้วย ">>>"

http://sourceforge.net/projects/logfiletools


1

คุณสามารถใช้ANSI Escape ในปลั๊กอิน Consoleสำหรับ Eclipse คุณจะต้องใช้สิ่งนี้เพื่อให้คอนโซล Eclipse สามารถตีความรหัส ANSI Escape ได้ ติดตั้งและเริ่มคราส จากนั้นคุณสามารถใช้รหัสสี ANSI เพื่อเขียนสีที่ต้องการได้ นี่คือรายการรหัสสี ANSIจากคำตอบ stackoverflow อื่น จากนั้นคุณสามารถทำได้:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";

public static void main(String[] args) {
    System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
}

ฉันใช้สิ่งนี้เพื่อสร้าง Custom Formatter สำหรับ Console Handler ดังนั้นจึงแสดงบันทึกจาก Logger ในระดับต่างๆที่มีสีต่างกัน (บันทึก INFO เป็นสีฟ้าบันทึกคำเตือนเป็นสีเหลืองและบันทึก SEVERE เป็นสีแดง) นี่คือวิธีที่ฉันทำหากคุณสนใจ


0

อิโมจิ

คุณสามารถใช้สีสำหรับข้อความตามที่คนอื่นกล่าวถึงในคำตอบของพวกเขา

แต่คุณสามารถใช้อิโมจิแทนได้! ตัวอย่างเช่นคุณสามารถใช้คุณสามารถใช้⚠️สำหรับข้อความเตือนและ🛑สำหรับข้อความแสดงข้อผิดพลาดเพื่อทำให้พวกเขาโดดเด่น!

หรือใช้สมุดบันทึกเหล่านี้เป็นสี:

📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔: Or anything you like and want to recognize immediately by color

ฉันใช้อิโมจิที่มีความหมายเป็นการส่วนตัวสำหรับผลลัพธ์ที่แตกต่างกัน

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁โบนัส:

วิธีนี้ยังช่วยให้คุณสามารถสแกนได้อย่างรวดเร็วและหาบันทึกโดยตรงในรหัสที่มา

แต่แบบอักษรอิโมจิเริ่มต้นของ linux จะไม่มีสีสันตามค่าเริ่มต้นและคุณอาจต้องการทำให้มีสีสันก่อน

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