Tôi hiện đang phát triển một thư viện đăng nhập ứng dụng bằng cách sử dụng TraceListener tích hợp sẵn. Thư viện này sẽ được sử dụng trong nhiều dự án và nên cung cấp một giao diện đơn giản, nơi tôi chỉ phải quan tâm đến những gì sẽ được ghi vào trong tệp nhật ký, nhưng không phải là CÁCH.Cách xác định phương thức gọi và tên lớp?
Bằng cách sử dụng không gian tên phản chiếu, tôi có thể tìm ra ứng dụng nào được gọi là hàm nhật ký (truy xuất tên lắp ráp thực thi), nhưng tôi cũng muốn tên của hàm và lớp được gọi là hàm ghi nhật ký.
Hãy nói rằng tôi có:
public static void LogInfo(string vLogText) {
Trace.WriteLine(
MethodInfo.GetCurrentMethod().Name
+ this.GetType().ToString() + vLogText);
}
Khi tôi gọi từ một dự án khác (lớp: TestClass, phương pháp: TestMethod)
Tracer.LogInfo("log this!")
tôi mong đợi để xem trong nhật ký:
TestClass, TestMethod, log this!
Nhưng thay vào đó tôi nhận được
TracerClass, LogInfo, log this!
Làm cách nào để có được phương thức gốc và tên lớp?
[Điều này có thể giúp bạn vô cùng] (http://msdn.microsoft.com/en-us/library/hh534540.aspx) nếu bạn đang sử dụng C# và VS mới nhất 2012. –
@ Trustme-I'maDoctor thật tuyệt vời! Đã không nhận thức được một điều như vậy. Bạn có thể làm điều này cho một câu trả lời thay vì nhận xét để tôi có thể bỏ phiếu và đánh dấu nó là đã đóng không? Cảm ơn nhiều. – Neurodefekt
@Neurodefekt Không sao cả. Mừng vì tôi có thể giúp. :) –