- ติดตั้ง log4net ผ่าน NuGet
- สร้างไฟล์ log4net.config
- บอก log4net ให้โหลดไฟล์คอนฟิก
1.ติดตั้ง log4net ผ่าน NuGet
PM> Install-Package log4net -Version 2.0.12
> dotnet add package log4net --version 2.0.12
2.สร้างไฟล์ log4net.config
สร้างไฟล์ log4net.config ไว้เก็บค่า config เกี่ยวกับ log4net
จากนั้นใส่ค่าในไฟล์ log4net.config ตามนี้
<?xml version="1.0" encoding="utf-8" ?> <log4net> <appender name="console" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level - %message%newline" /> </layout> </appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <file value="log/" /> <datePattern value="yyyy-MM-dd.'log'"/> <staticLogFileName value="false"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <maxSizeRollBackups value="100"/> <maximumFileSize value="15MB"/> <encoding value="UTF-8"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p%d{ yyyy-MM-dd HH:mm:ss} - %m %n" /> </layout> </appender> <root> <level value="ALL"/> <appender-ref ref="console" /> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net>
และที่ “Copy to Output Directory” ให้เลือกเป็น “Copy Always”
3.บอก log4net ให้โหลดไฟล์คอนฟิก
Program.cs
using System; using System.IO; using System.Reflection; using System.Xml; namespace ConsoleApp1 { class Program { public static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); static void Main(string[] args) { XmlDocument log4netConfig = new XmlDocument(); log4netConfig.Load(File.OpenRead("log4net.config")); var repo = log4net.LogManager.CreateRepository(Assembly.GetEntryAssembly(), typeof(log4net.Repository.Hierarchy.Hierarchy)); log4net.Config.XmlConfigurator.Configure(repo, log4netConfig["log4net"]); log.Info("Hello World!"); } } }