- ติดตั้ง log4net ผ่าน NuGet
- บอกโปรแกรมให้โหลดไฟล์ log4net.config
- สร้างไฟล์ log4net.config
- เพิ่มโค๊ดที่ Program.cs
- แก้ไขไฟล์ .gitignore
1.ติดตั้ง log4net ผ่าน NuGet
PM> Install-Package log4net
2.บอกโปรแกรมให้โหลดไฟล์ log4net.config
ที่ด้านล่างของไฟล์ Properties/AssemblyInfo.cs เพิ่ม
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]
3.สร้างไฟล์ log4net.config
สร้างไฟล์ log4net.config และที่ “Copy to Output Directory” ให้เลือกเป็น “Copy if newer”
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <root> <level value="All" /> <appender-ref ref="console" /> <appender-ref ref="file" /> </root> <appender name="console" type="log4net.Appender.ConsoleAppender"> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date %level %method - %message%newline" /> </layout> </appender> <appender name="file" type="log4net.Appender.RollingFileAppender"> <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/> <file value="logs/" /> <datePattern value="yyMMdd'.log'" /> <staticLogFileName value="false" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <encoding value="UTF-8"/> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p%d{ yyyy-MM-dd HH:mm:ss} li:%line - [%method] %m %n" /> </layout> </appender> </log4net> </configuration>
4.เพิ่มโค๊ดที่ Program.cs
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1 { class Program { private static readonly log4net.ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); static void Main(string[] args) { try { log.Info("*********************************"); log.Info("************* BEGIN *************"); log.Info(AppDomain.CurrentDomain.FriendlyName); log.Info("************** END **************"); log.Info(""); } catch (Exception ex) { log.Error(ex.Message); log.Error(ex.ToString()); } } // end main } // end class }
INFO 2020-08-27 10:13:16 li:18 - [Main] ********************************* INFO 2020-08-27 10:13:16 li:19 - [Main] ************* BEGIN ************* INFO 2020-08-27 10:13:16 li:20 - [Main] ConsoleApp1.vshost.exe INFO 2020-08-27 10:13:16 li:23 - [Main] ************** END ************** INFO 2020-08-27 10:13:16 li:24 - [Main]
5.แก้ไขไฟล์ .gitignore
เพิ่มบรรทัดที่ด้านล่างไฟล์
packages/