Ghi log với log4net

Vấn đề ghi log cho ứng dụng thì không có gì mới lạ rồi, bạn có thể viết log bằng 1 câu lệnh StreamWriter đơn giản, nhưng đối với những project lớn, bạn có nhiều thứ cần phải log hơn là việc thông báo hơn, đôi khi cũng cần 1 cái gì đó chuyên nghiệp hơn, và đó chính là lúc bạn cần phải xem xét log4net.

Không cần dài dòng câu giờ, mình bắt tay vào thực hành ngay và luôn.

Bước 1: Add reference

Bạn có thể download log4net theo link dưới đây

Hoặc đơn giản, bạn sử dụng nuget trong visual studio

Bước 2: Config assembly info

Thêm dòng lệnh sau vào file AssemblyInfo.cs hoặc class của bạn

[assembly: log4net.Config.XmlConfigurator(Watch=true)]

Mặc định, log4net sẽ lấy file config dựa theo tên file thực thi của bạn. Ví dụ bạn build ra file .exe là Demo.exe thì file config sẽ là Demo.exe.config

Bước 3: Config log

Đây là một bước quan trọng, log4net sẽ dựa vào những thông tin config trong này để ghi ra log cho chương trình.

Đầu tiên bạn mở file App.config (nếu chưa có thì bạn tự add vào) và thêm đoạn code sau:
Lưu ý: thẻ <configSection> phải là thẻ con đầu tiên của thẻ <configuration>, nếu không sẽ bị lỗi khi đọc file config, kế sau đó mới là những đoạn config khác.
Tiếp theo, bạn thêm đoạn config sau đây, đây chính là config cho log4net

Ý nghĩa một số thẻ quan trọng

<file value="log.txt" />
Đường dẫn lưu file log. Bạn có thể để đường dẫn tuyệt đối, nếu không log sẽ được ghi ra ngay tại thư mục của file thực thi.
<appendToFile value="true" />
Cho phép append log vào cùng 1 file.
<maximumFileSize value="2MB" />
Dung lượng lưu trữ tối đa của 1 file log. 1M có lẽ sẽ thích hợp cho 1 file log.
<maxSizeRollBackups value="10" />
Nếu dung lượng vượt quá dung lượng tối đa, file mới được sinh ra. Nếu số lượng file mới vượt quá maxSizeRollBackups, các file cũ sẽ bị thay thế.
<layout type="log4net.Layout.PatternLayout">
Định dạng xuất ra của file log. Xem ví dụ dưới

Bước 4: Tạo logger

Có 2 cách để tạo ra đối tượng logger

Cuối cùng: Ghi log

Bạn có thể dùng các phương thức Info, Debug hoặc Error của đối tượng _logger để ghi log. Ví dụ như hàm Main như sau:
Và log sẽ là:
Vô cùng dễ dàng phải không nào. Bạn hãy tập viết log cho chương trình của mình ngay từ lúc này để tạo một thói quen tốt nhé.

Tham khảo

Comments

Popular posts from this blog

Thay đổi quyền ownership trong Windows

Gỡ bộ Visual Studio ra khỏi máy tính