Log4net là gì

     

Log4net là 1 trong công chũm giúp bạn lập trình lưu lại những thông tin trong những lúc chạy ứng dụng. Trong trường hòa hợp ứng dụng của bạn có lỗi mà vẫn không kiếm được nguyên nhân, log4net có thể là vị cứu vớt tinh để giúp đỡ bạn xác định nơi gây lỗi.Ngoài ra, Log4net còn tồn tại thể đổi khác trạng thái log lúc lịch trình chạy mà không cần kết thúc chương trình. Bên cạnh đó, khi thực hiện log4net đang không tác động đáng nói đến performance của ứng dụng, log4net còn được thiết kế theo phong cách với tính flexibility vô cùng cao, chúng ta có thể mở rộng và thêm thắt rất nhiều thứ bạn thích vào thư viện log4net, chẳng hạn như cách thức log, định dạng log, …Có khôn cùng nhiều phương pháp để Appender, mặc dù ta thân thương 2 cách hay dùng nhất là:+Log ra tệp tin (trong kia RollingFileAppender được sử dụng nhiều nhất)+Log ra Database (ở đây áp dụng MS SQL Server)

Trong bài viết này bản thân sẽ trình làng cách thực hiện Log4net bởi 2 cách trên, nhưng lại trước tiên mình sẽ làm cho 1 lấy một ví dụ console dễ dàng và đơn giản sử dụng log4net.Viết log trong một chương trình consoleCác bước như sau:+ tải về log4net từ http://logging.apache.org/log4net/download.html (nên chọn phiên bản mới nhất).+ Mở visual studio và sản xuất một ứng dụng console+ Thêm log4net.dll vào reference trong folder vừa thiết lập về.( in et* eleaselog4net.dll)+ Viết hàm main như sau:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using log4net;namespace DemoLog4Net class Program protected static readonly ILog log = LogManager.GetLogger(typeof(Program)); static void Main(string<> args) log4net.Config.BasicConfigurator.Configure(); log.Debug("Debug level"); log.Info("Info level"); log.Warn("Ware level"); log.Error("Error level"); log.Fatal("Fatal level"); Console.ReadLine(); Kết quả:



• bao gồm 7 cấp độ log như hình dưới đây:



Ví dụ: nếu như bạn tạo 1 đối tượng người tiêu dùng logger với gán nó với cấp độ INFO. Nên khi bạn gọi cách tiến hành sau:

Logger.Info("message");Logger.Debug("message");Logger.Warn("message");Phương thức đầu tiên, level của cách thức Info() bởi với màn chơi được gán mang đến logger vì thế nó hiện thị “message”.

Bạn đang xem: Log4net là gì

Phương thức đồ vật 2, level của phương thức Debug () nhỏ tuổi hơn màn chơi được gán mang đến logger phải yêu ước bị khước từ và nó không hiện thị lên message.Tương trường đoản cú bạn thuận tiện biết được tác dụng của cách làm thứ 3 rồi bắt buộc không .All: chất nhận được tất cả các yêu câu, OFF: khước từ tất cả các yêu cầu.

Xem thêm: Cách Tạo Email Trên Iphone 5S, Cách Thiết Lập Tài Khoản Email Trên Iphone

Bây giờ, bản thân sẽ giới thiệu cách sử dụng log4net trong áp dụng web applicationCác cách cơ bản:- tải về log4net về, địa chỉ cửa hàng reference vào ứng dụng của mình.- cấu hình file AssemblyInfo.cs

- cấu hình log4net trong web.config- Đăng cam kết log4net vào Application_Start() trong Global.asax

void Application_Start(object sender, EventArgs e)log4net.Config.XmlConfigurator.Configure();- Sử dụng:+ Using namespace log4net ở mọi nơi bạn cần sử dụng+ chế tạo thuộc tính sau vào các lớp cần sử dụng

private static readonly ILog log = LogManager.GetLogger(typeof(TênLớpCủaBạn).Name);Hoặc cách tổng quát hơn là:

private static readonly ILog log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);+ Tại hồ hết nới nên log thì thêm đoạn code sau

log.Info("log.Info");log.Debug("log.Debug");log.Error("log.Error");Trường phù hợp 1: Log ra fileCấu hình trong web.config

Giải thích

i.

- Đường dẫn tệp tin ta ghi thông tin lỗi

ii. - Ta áp dụng RollingFileAppender, nếu kích cỡ file vượt quá giải pháp thì nó sẽ đổi tên file cũ với ghi vào file mới. Tổng số file về tối đa ở chỗ này mình bởi mình config (ở đấy là 10), các file cũ nhất có khả năng sẽ bị xóa đi khi con số file vượt quá số lượng config (ở đó là 10)

iii. - kích cỡ tối đa của 1 file log (ở trên đây mình config là một trong những Megabyte)

iv. - Định dạng của tin tức log bắt buộc ghi ra file kèm theo một số trong những thông tin, chúng ta có thể tùy biến làm thế nào cho thông tin dễ quan sát nhất, tại chỗ này tôi configvalue=”%-5p%dyyyy-MM-dd hh:mm:ss – %m%n”>

Trường hợp 2: Log ra database (MS SQL Server)Cấu trúc bảng phải định nghĩa (tùy vào bài toán cần lưu cái gì mà mình tư tưởng bảng này thế nào cho hợp lý, tuy nhiên bảng sau chứa những thuộc tính cơ bản cho câu hỏi log.

CREATE TABLE tblLog ( IDENTITY (1, 1) NOT NULL, NOT NULL, (255) NOT NULL, (50) NOT NULL, (255) NOT NULL, (4000) NOT NULL, (2000) NULL)Cấu hình vào web.config

Giải thíchi. - Log vào Database theo từng batch, nếu chạy thử thì ta yêu cầu để quý giá = 1 vị nếu để 100 thì phải gồm 100 lỗi ,nó new log 1 lần dẫn mang đến nhầm lẫn tưởng là log ko chạy.

ii. - liên kết tới nhiều loại csdl cần tàng trữ (SQL server hoặc Oracle, MySql)

iii. - Chuỗi kết nối tới csdl bạn cần lưu thông tin log- trường hợp trong web.config của bạn đã sở hữu connectionString rồi thì ta chỉ việc gán tên của chính nó tại đây:

iv. - Câu lệnh hoặc stored procedure sử dụng cho việc insert cho tới Database

v.

- Tham số hỗ trợ cho câu lệnh hoặc stored procedure insert, cất tên, loại dữ liệu, định dạng tin tức cần log.

Xem thêm: " Pass The Buck Là Gì ? Pass The Buck Nghĩa Là Gì

vi. - cấu hình thiết lập levelLưu ý: Đối với trường hợp là winform application cũng có thể có cách làm cho gần tương tự, thay bởi vì config trong web.config thì mình sẽ đề nghị config trong App.config.Link tham khảo:http://logging.apache.org/log4net/release/config-examples.htmlhttp://www.codeproject.com/Articles/140911/log4net-Tutorial

Happy coding

*

phathien88

Mình là phathien88. Mình vô cùng thích đánh đế chế. Bạn muốn cùng chúng ta xây dựng website này.