2008-09-19 69 views
5

Có cách nào để nắm bắt các báo cáo theo dõi của ứng dụng Flex của bạn trong khi không chạy trong chế độ gỡ lỗi không?Ghi nhật ký sản xuất trong Flex

Hoặc có cách nào khác để xuất thông tin ghi nhật ký khi không chạy trình gỡ lỗi không?

Hiện tại tôi đang cố khắc phục lỗi chỉ xuất hiện trong kịch bản triển khai rất cụ thể, nhưng tôi thấy điều này hữu ích trong một số trường hợp khách hàng gửi nhật ký tới hỗ trợ kỹ thuật khi họ báo cáo lỗi hoặc các sự cố khác.

Trả lời

3

Tôi cho rằng bạn đang nói về Adobe Flex, nhắm mục tiêu Trình phát Flash?

Nếu có, bạn có thể viết lớp trình bao bọc nhật ký của riêng bạn để gửi tới một vài mục tiêu (như ngăn xếp dấu vết và bộ nhớ trong để bạn có thể truy cập nhật ký từ bên trong ứng dụng. khi người dùng đồng ý gửi báo cáo lỗi). Ngoài ra, hãy xem số Flex logging framework để biết nội dung như thế này đã tồn tại.

Tôi đã thực sự làm điều gì đó như thế này - Tôi có một lớp được gọi là Log với các phương pháp tĩnh như log(), debug(), error() vv mà tôi sử dụng trong các ứng dụng của tôi, và lớp này chuyển tiếp tất cả các thư gửi đến nó vào dấu vết ngăn xếp qua trace(), vào ứng dụng "log console" chạy trên cùng một máy chủ thông qua LocalConnection và/hoặc Socket (kết nối ổ cắm rõ ràng nhanh hơn LocalConnection) và cũng lưu chúng cục bộ vào một mảng để người dùng có thể gửi báo cáo lỗi cùng với đầu ra nhật ký ngay từ trong ứng dụng.

Loại thay đổi này có nghĩa là bạn phải dịch tất cả các lệnh trace() trong mã của bạn thành cuộc gọi đến hệ thống ghi nhật ký, nhưng có thể dễ dàng đạt được bằng tìm kiếm regex & thay thế.

0

Bạn có thể dùng thử XPanel từ Farata Systems. Đây là giao diện người dùng Windows gốc có thể hiển thị các thông điệp tường trình bằng cách sử dụng API Ghi nhật ký Flex 3 ngay cả đối với các ứng dụng Flex đang chạy trong trình duyệt. Rất tiếc, họ đã thiết kế lại trang web của họ và tôi không thể tìm thấy trang web nữa ... Có thể Google sẽ giúp bạn.

Chúng tôi đã làm điều gì đó khác với JavaScript. Khách hàng có thể mở một trang 'đặc biệt' cho thấy ghi nhật ký và truy vấn bằng cách sử dụng DHTML. Ứng dụng Flex gọi một hàm JavaScript cho ứng dụng biết liệu trang này có được mở hay không. Nếu không, việc ghi nhật ký sẽ bị tắt. Nếu nó được mở, việc ghi nhật ký được kích hoạt và tất cả các câu lệnh log được nối vào trang này.

Lưu ý rằng không có cách nào để ghi kết quả ghi nhật ký vào hệ thống tệp mọi lúc do giới hạn hộp cát. Tuy nhiên, khách hàng có thể dễ dàng sao chép và dán đầu ra của cửa sổ ghi nhật ký như được giải thích ở trên.

2

Có một dự án trên Google Code gọi Thunder Bolt cho phép bạn viết tin nhắn đó sẽ xuất hiện trong FireBug khi chạy các ứng dụng trong Firefox (giả sử tất nhiên mà bạn đã cài đặt phần mở rộng đó.)

Logging với công cụ này đăng nhập đơn giản như:

import org.osflash.thunderbolt.Logger; 

var myNumber: int = 5; 
var myString: String = "Lorem ipsum"; 
Logger.error ("Logging two objects: A number typed as int and a string", myNumber, myString); 
Các vấn đề liên quan