2012-02-24 22 views
6

Hiện tại tôi đang sử dụng BUILD_LOG_REGEX trong Jenkins Thông tin email có thể chỉnh sửa để nhận nhật ký lỗi qua email. Nhưng tôi nhận được rất nhiều rác và tôi muốn lọc ra các lỗi và tôi muốn nhật ký lỗi được lọc để hoàn thiện. Bất kỳ giúp đỡ?Làm cách nào để lọc chỉ các lỗi trong Jenkins-email-ext, BUILD_LOG_REGEX?

+0

Có một số chuỗi phổ biến trong dòng nhật ký lỗi để căn cứ vào regex của bạn không? Nếu không, bạn có thể thêm một cái không? Bạn có thể cung cấp một ví dụ, loại regex bạn đang sử dụng, loại đường ghi nào sẽ bị bắt và loại nào không? –

+0

Hey Juuso, tôi có thể lọc một loại lỗi ngay bây giờ. Nhưng tôi muốn lọc nhiều loại lỗi. Ví dụ: Nhật ký lỗi có thể có định dạng Lỗi: (hoặc) [Lỗi] (hoặc) Không thành công: v.v ... Làm cách nào để tạo một hoặc điều kiện trong BUILD_LOG_REGEX? – user1048613

Trả lời

8

Câu hỏi của bạn khá cụ thể. Như Juuso Ohtonen lưu ý trong một bình luận, những gì bạn làm rất cao phụ thuộc vào những gì có thể được tìm thấy trong nhật ký của bạn. Dưới đây là một ví dụ về những gì chúng tôi sử dụng trong một công ăn việc làm của chúng tôi, nó là khá chung chung (nếu không nói Minimalistic):

${BUILD_LOG_REGEX, regex="^.*?BUILD FAILED.*?$", linesBefore=0, linesAfter=10, maxMatches=5, showTruncatedLines=false, escapeHtml=true} 

tôi xin đề nghị như sau: tạo một công việc mà các bản ghi một số văn bản có chứa loại lỗi bạn gặp phải (bạn chỉ có thể phun một số tệp văn bản mà bạn đặt vào không gian làm việc của công việc), sau đó chơi với các mẫu regex Java - java.util.regex.Pattern - trong Plugin cho đến khi bạn nhận được kết quả mong muốn. Hãy chắc chắn rằng bạn gửi e-mail từ công việc chỉ để cho mình :)

Để sử dụng HTML tùy chỉnh - đây là một trích dẫn từ nội dung tài liệu tham khảo Mã của Plugin:

${JELLY_SCRIPT, template} - Custom message content generated from a Jelly script 
    template. There are two templates provided: "html" and "text". Custom Jelly templates 
    should be placed in $JENKINS_HOME/email-templates. When using custom templates, the 
    template filename without ".jelly" should be used for the "template" argument. 
    template - the template name. Defaults to "html". 

Các mẫu mặc định mà bạn có thể sử dụng như là điểm xuất phát của bạn nằm ở

$JENKINS_HOME/plugins/email-ext/WEB-INF/classes/hudson/plugins/emailext/templates/html.jelly 
+0

Tôi đang cung cấp cho bạn một số ví dụ về cách các tệp nhật ký của tôi trông như thế nào. Trong trường hợp này, chỉ có nhật ký lỗi (các loại nhật ký lỗi khác nhau): Trường hợp: 1 Lỗi: thư mục không phù hợp - vui lòng kiểm tra các tệp sau: =============== ================================================== ============ Removed: \ foo2.cs Removed: \ WorkflowsHighAvailabilityApp \ Application \ WorkflowsHighAvailabilityApp.cs Trường hợp: 2 – user1048613

+0

tình trạng của tôi trông như thế này: $ {BUILD_LOG_REGEX, regex =" Lỗi: ", linesBefore = 0, linesAfter = 5, showTruncatedLines = false}. Bộ lọc này chỉ lọc các nhật ký có Lỗi :, nhưng tôi muốn lọc lỗi có nhiều loại như [Lỗi]/Không thành công:, v.v. Bất kỳ đề xuất nào? – user1048613

+0

BUILD_LOG_REGEX sử dụng cụm từ thông dụng 'java.util.regex.Pattern': http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html –

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