Tìm hiểu về log4net

 

log4net là một công cụ để giúp đỡ các lập trình ghi lại báo cáo và xuất ra một loạt các mục tiêu. Khi có vấn đề với các ứng dụng, nó thật sự hữu ích có thể tìm ra vấn đế một cách chính xác. Với log4net có thể để cho phép đăng nhập tại thời gian chạy mà không sửa đổi các ứng dụng hệ nhị phân. Những gói log4net được thiết kế để báo cáo bản ghi có thể vẫn còn trong mã shipped mà không bị một chi phí hoạt động cao.
Một trong những tính năng đặc biệt trong log4net là khái niệm trong phân cấp logger. Sử dụng những logger có thể kiểm soát trong đó báo cáo có chọn lọc log file xuất theo tùy ý.
log4net được thiết kế với hai mục tiêu riêng biệt ghi nhớ: tốc độ và tính linh hoạt


Tính Năng :

  • Hỗ trợ cho nhiều framework
  • Đầu ra cho nhiều mục tiêu ghi
  • Phân cấp kiến trúc ghi
  • Cấu hình XML
  • Dynamic Configuration
  • Bối cảnh Logging
  • Cung cấp khả năng kiến trúc
  • Modular và thiết kế mở rộng
  • Hiệu suất cao với sự linh hoạt


Hỗ trợ cho nhiều framework : 

log4net chạy trên tất cả tương thích runtimes CLI ECMA 1,0. log4net có cụ thể bản xây dựng cho các framework sau đây:
  • Microsoft .NET Framework 1.0 (1.0.3705)
  • Microsoft .NET Framework 1.1 (1.1.4322)
  • Microsoft .NET Framework 2.0 (2.0.50727)
  • Microsoft .NET Compact Framework 1.0
  • Mono 1.0
  • Mono 2.0
  • Microsoft Shared Source CLI 1.0
  • CLI 1.0 Compatible


Lưu ý:. Do sự hỗ trợ framework NET cho log4net tương thích ngược sẽ chạy trên phiên bản tương lai của runtimes được liệt kê ở trên.

Đầu ra cho nhiều mục tiêu ghi :

  • log4net.Appender.AdoNetAppender : ghi sự kiện vào cơ sở dữ liệu bằng cách sử dụng prepared statements hoặc stored procedures.
  • log4net.Appender.AnsiColorTerminalAppender : Writes color highlighted logging events to a an ANSI terminal window.
  • log4net.Appender.AspNetTraceAppender Writes logging events to the ASP trace context. These can then be rendered at the end of the ASP page or on the ASP trace page.
  • log4net.Appender.ColoredConsoleAppender Writes color highlighted logging events to the application's Windows Console.
  • log4net.Appender.ConsoleAppender Writes logging events to the application's Console. The events may go to either the standard our stream or the standard error stream.
  • log4net.Appender.EventLogAppender Writes logging events to the Windows Event Log.
  • log4net.Appender.FileAppender Writes logging events to a file in the file system.
  • log4net.Appender.LocalSyslogAppender Writes logging events to the local syslog service (UNIX only).
  • log4net.Appender.MemoryAppender Stores logging events in an in memory buffer.
  • log4net.Appender.NetSendAppender Writes logging events to the Windows Messenger service. These messages are displayed in a dialog on a users terminal.
  • log4net.Appender.OutputDebugStringAppender Writes logging events to the debugger. If the application has no debugger, the system debugger displays the string. If the application has no debugger and the system debugger is not active, the message is ignored.
  • log4net.Appender.RemoteSyslogAppender Writes logging events to a remote syslog service using UDP networking.
  • log4net.Appender.RemotingAppender Writes logging events to a remoting sink using .NET remoting.
  • log4net.Appender.RollingFileAppender Writes logging events to a file in the file system. The RollingFileAppender can be configured to log to multiple files based upon date or file size constraints.
  • log4net.Appender.SmtpAppender Sends logging events to an email address.
  • log4net.Appender.TelnetAppender Clients connect via Telnet to receive logging events.
  • log4net.Appender.TraceAppender Writes logging events to the .NET trace system.
  • log4net.Appender.UdpAppender Sends logging events as connectionless UDP datagrams to a remote host or a multicast group using a UdpClient.


Phân cấp kiến trúc ghi :

Phân cấp ghi là một phù hợp lý tưởng với phát triển dựa trên các thành phần. Mỗi thành phần có trong logger riêng của mình. Khi cá nhân được thử nghiệm, các tính chất trong các logger có thể thiết lập như là phát triển các yêu cầu. Khi kết hợp với các thành phần khác, các logger kế thừa các thuộc tính xác định bởi integrator trong các thành phần. Một lựa chọn có thể nâng cao các ưu tiên ghi vào một thành phần mà không ảnh hưởng đến các thành phần khác. Điều này rất hữu ích khi bạn cần một chi tiết theo dõi từ một thành phần chỉ duy nhất mà không lấn át các theo dõi tập tin với những thông điệp từ các thành phần khác. Tất cả điều này có thể thể thực hiện qua các các file cấu hình, không thay đổi mã là cần thiết.


Cấu hình XML :

log4net có cấu hình bằng cách sử dụng một tập tin cấu hình XML. Những thông tin cấu hình có thể thể nhúng vào trong file cấu hình XML khác (chẳng hạn như tập tin cấu hình của ứng dụng.) hoặc trong một file riêng biệt. Các cấu hình là dễ đọc và dễ updateable trong khi giữ lại sự linh hoạt để thể hiện tất cả các cấu hình. Ngoài ra log4net có thể được cấu hình lập trình.


Dynamic Configuration :

log4net có thể theo dõi file cấu hình cho những thay đổi và tự động áp dụng thay đổi của cấu hình này. Mức ghi, appenders, bố trí, và chỉ là về mọi thứ khác có thể điều chỉnh trong thời gian chạy. Trong nhiều trường hợp, có thể chẩn đoán các vấn đề ứng dụng mà không chấm dứt quá trình được đề cập. Điều này có thể một công cụ rất có giá trị trong việc điều tra các vấn đề với các ứng dụng triển khai.


Bối cảnh Logging :

log4net có thể dùng cho thu thập dữ liệu ghi nội dung một cách rằng có minh bạch cho các nhà phát triển tại các điểm ghi. Những GlobalContext và ThreadContext cho phép các ứng dụng với lưu trữ dữ liệu theo ngữ cảnh được gắn cho thông điệp ghi. Ví dụ, trong một dịch vụ web, một khi người gọi có xác thực tên người dùng trong người gọi có thể lưu trữ trong một sở hữu ThreadContext. Sở hữu này sau đó sẽ thể tự động lưu lại như là một phần trong mỗi tin nhắn ghi tiếp theo được làm từ các chủ đề tương tự.