2012-04-26 32 views
5

có thể ai đó vui lòng đề nghị một số giải pháp Trong trường hợp tôi muốn để có được tên lớp gọi của phương pháp bắt đầu một chủ đềLàm thế nào để tìm ra tên lớp gọi của phương pháp bắt đầu một chủ đề sử dụng stacktrace

ví dụ nếu tôi bắt đầu một chủ đề trong chính theo dõi stack cho tên lớp gọi là thread và tên phương thức người gọi như chạy cho chỉ mục 2. xin vui lòng giúp đỡ trong việc tìm kiếm tên chính xác của lớp người gọi và tên phương thức của một chủ đề.

+2

Whats vấn đề bạn đang gặp với nhận được thông tin người gọi sử dụng stack trace đối tượng? –

+2

Không có cách nào bạn có thể làm điều đó, theo như tôi biết. Nó không được ghi lại. Bạn có thể tìm ra chuỗi gốc, có thể, nhưng điều đó sẽ không có nghĩa là bạn sẽ tìm ra dòng mã được gọi là 'Thread.start'. –

Trả lời

1

Có vẻ như bạn đang cố gắng kết hợp các tác vụ mở rộng nhiều chuỗi. Về điều tốt nhất bạn có thể làm nếu bạn bắt đầu một chuỗi trực tiếp là đặt tên cho nó trong hàm tạo, sau đó đăng nhập lớp gọi và tên phương thức cùng với tên của chuỗi mới. Nhưng điều này sẽ không hiệu quả nếu bạn sử dụng ExecutorService.

Tổng quát hơn bạn nên điều tra sử dụng lồng nhau Chẩn đoán bối cảnh để cho phép bạn tie lên đa luồng hoạt động: Logging activities in multithreaded applications

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