- ติดตั้ง 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/