Tô màu nhật ký trong bảng điều khiển nhật thực


105

Có cách nào để tô màu các phần của nhật ký trong bảng điều khiển nhật thực không. Tôi biết tôi có thể gửi đến các luồng lỗi và chuẩn và tô màu chúng theo cách khác nhưng tôi đang tìm kiếm sự khác biệt hơn trong các dòng mã thoát ANSI (hoặc bất kỳ khác, HTML?), Nơi tôi có thể nhúng các màu vào chuỗi để nó có màu nhật ký.

Nó chắc chắn sẽ giúp làm cho các bit quan trọng trở nên nổi bật mà không cần sử dụng đến bố cục kỳ lạ, thay vì giữ bố cục cho các thiết lập log4j

đây là một ví dụ về những gì tôi đang tìm kiếm:

[INFO] Lưới đã hoàn thành ....... false

trong đó các phần đậm sẽ có màu xanh lam, màu này có thể được ứng dụng kiểm soát ở một mức độ nào đó. như vậy (các thẻ là khái niệm và tùy ý, nhưng bạn có thể hiểu được):

log.info (String.format ("Lưới đã hoàn thành ....... <blue>% s </blue>", isComplete));


Một lưu ý chung hơn đó là khả năng nhúng thông tin meta vào nhật ký để giúp trình bày các nhật ký này. Giống như chúng ta gắn thẻ nội dung trang web để giúp trình bày thông tin bằng CSS.


bạn có thể sử dụng MulticolorLayout từ jcabi-log , như đã giải thích ở đây: stackoverflow.com/questions/7848325
yegor256

Bắt giữ! ANSI-Coloring, tôi nên xem lại lần tiếp theo khi khởi động Eclipse của mình! cảm ơn. Đối với JCabi, tôi thích bối cảnh hóa các trình ghi nhật ký của mình và hiếm khi phù hợp với tên lớp, vì vậy tôi nghi ngờ rằng một trình bao bọc tĩnh sẽ thực hiện thủ thuật. Tôi thường cần đặt động tên của trình ghi nhật ký cho phiên bản vì nó giúp tôi sử dụng thông tin ghi nhật ký hiệu quả hơn nhiều.
Newtopian

Câu trả lời:


76

Hãy thử với Plugin Eclipse này: Bảng điều khiển Grep

[Cập nhật] :
Như người bình luận đã chỉ ra: Khi cài đặt Grep Console trong phiên bản mới nhất hiện tại của Eclipse, bạn cần bỏ chọn 'Nhóm các mục theo danh mục' trong hộp thoại Cài đặt để xem các mục có sẵn.
Như đã chỉ ra bởi @Line , plugin hiện có thể được cài đặt dễ dàng thông qua Eclipse Marketplace một lần nữa mà không cần thay đổi bất kỳ tùy chọn nào.

[Cập nhật 2] :
Như đã chỉ ra bởi @azdev , để có được điểm nổi bật thích hợp:

Chỉ nhập chuỗi theo nghĩa đen không hoạt động. Để có một dòng được tô màu, bạn phải đặt chuỗi ở .* hai bên, như sau: .*ERROR.*


3
Plugin này không hoạt động với Eclipse mới nhất (Helios).
sorin

1
sửa về việc plugin không được phát triển tích cực, tôi đã hỏi người tạo một vài câu hỏi và nhận được câu trả lời trong vòng vài giờ! Đối với các mẫu, plugin sử dụng các biểu thức chính quy vì vậy một số điều chỉnh và thay đổi xung quanh được mong đợi khi định cấu hình nó. Tôi khuyên bạn nên cài đặt một plugin biểu thức chính quy để thử với bản sao các đoạn trích được dán từ bảng điều khiển. Sau khi cấu hình mặc dù nó hoạt động như một nét duyên dáng
Newtopian

2
Trong trường hợp có ai đang tìm kiếm tài liệu cho Grep Console: marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny Bullis,

1
Ngoài ra, trong trường hợp bất kỳ ai cần trợ giúp với các mẫu regex (liên kết trợ giúp này cũng được bao gồm trong hộp thoại Grep Console trong eclipse): docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern. html
Danny Bullis,

1
Vui lòng xem xét gỡ bỏ [bản cập nhật] đầu tiên - bây giờ nó có thể dễ dàng cài đặt thông qua Marketplace.
Dòng

18

Trên thực tế, plugin ANSI Console bổ sung hỗ trợ mã thoát ANSI vào bảng điều khiển Eclipse. Tuy nhiên, hiện tại nó có một hạn chế, theo đó các mã thoát trải dài nhiều dòng bị rò rỉ không chính xác sang các dòng khác khi cuộn, hãy xem vấn đề # 3 .

Nếu không, một số plugin chế độ xem thiết bị đầu cuối như được giải thích trong câu hỏi khác này có thể là một tùy chọn cho một số người.


Tôi đã sử dụng trang web mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Hỗ trợ ansi đơn giản Perfeclty trong bảng điều khiển!
tutejszy

9

Như đã được chỉ ra bởi @Benjamin Grep Console là một cách tuyệt vời để chỉnh màu đầu ra trong Console.

Tôi đã thực hiện một video ngắn để chứng minh cách nó hoạt động và nhận được phản hồi từ Người tạo ra plugin Grep Console. Anh ấy nói rằng Grep console 3 đã được phát hành.

Diễn viên màn hình : http://www.youtube.com/watch?v=fXjgGZAxToc

Cập nhật trang web

Grep Console 2
http://eclipse.musgit.com
(yêu cầu Eclipse 3.4 (Ganymede) trở lên và Java 5.0 trở lên)

Grep Console 3
http://eclipse.schedenig.name
(yêu cầu Eclipse 3.7 (Indigo) trở lên và Java 6.0 trở lên)



4

Chúng tôi sử dụng plugin Ganymede Eclipse nơi tôi làm việc và nó hoạt động tốt.

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

"Một plugin log4j cho Eclipse hoạt động tương tự như cưa máy (SocketServer). Bao gồm màu sắc, bộ lọc, thông tin chi tiết và lưu cài đặt."


Đây là một plugin tuyệt vời quá xấu họ không có một cho europa :(
branchgabriel

15
Thật khó hiểu khi có một plugin Eclipse được gọi là "ganymede".
JesperE

2

Đọc về điểm mở rộng org.eclipse.ui.console.consolePatternMatchListists .


1
Đó là cách đúng đắn để làm điều đó, nhưng tôi nghĩ người đăng đã hy vọng ai đó đã làm điều này cho các chuỗi thoát ansi hoặc mã màu html.
aepurniet 30/09/09

1

Bạn có thể cân nhắc dùng thử Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) nếu bạn đang làm việc với log4j. Cho phép bạn xác định màu sắc và bộ lọc và hoạt động với cấu hình (gần như) bằng không.


Tôi đã thử nó một thời gian dài trước đây, nó rất hữu ích mặc dù tôi không biết nếu nó có thể giúp tôi trong trường hợp này. Tôi hy vọng nó sẽ cho phép tôi chi tiết hơn về cách các hàng được tô màu, nhưng tôi muốn nhiều hơn nữa ... Tôi sẽ thử nó vào ngày mai.
Newtopian

1

Tôi đã sử dụng plugin này trước đây, nó cho phép bạn tô màu các dòng của nhật ký dựa trên regex tùy chỉnh.

Ví dụ, khi tôi đang sử dụng nó, bất kỳ dòng nào có lỗi từ sẽ có màu đỏ, cảnh báo sẽ có màu cam, thông tin sẽ có màu xanh lam ... vv.

Vì nó là regex, bạn có thể làm bất cứ điều gì. Thiết lập nó để làm cho dòng có màu xanh lục bất cứ khi nào nó bắt đầu bằng ">>>" và sau đó thêm chuỗi tin nhắn của bạn bằng ">>>".

http://sourceforge.net/projects/logfiletools


1

Bạn có thể sử dụng ANSI Escape trong plugin Console cho Eclipse. Bạn sẽ cần điều này để bảng điều khiển Eclipse có thể diễn giải mã thoát ANSI. Cài đặt nó và khởi động lại Eclipse . Sau đó, bạn có thể sử dụng Mã màu ANSI để viết bằng một màu nhất định. Đây là danh sách Mã màu ANSI từ một câu trả lời ngăn xếp khác. Sau đó, bạn có thể làm điều này:

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);
}

Tôi đã sử dụng điều này để tạo Định dạng tùy chỉnh cho Trình xử lý điều khiển để nó hiển thị nhật ký từ Trình ghi nhật ký ở các cấp độ khác nhau với các màu khác nhau (nhật ký INFO màu lục lam, nhật ký CẢNH BÁO màu vàng và nhật ký SEVERE màu đỏ). Đây là cách tôi đã làm điều đó , nếu bạn quan tâm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.