1、在NuGet中安装Log4net.AspNetCore
2、创建LogHelper类
注意:引用(log4net; log4net.Config; log4net.Repository;)
public class LogHelper
{
private static ILoggerRepository Repository { get; set; }
private static ILog _log;
private static ILog Log
{
get
{
if (_log == null)
{
Configure();
}
return _log;
}
}
public static void Configure(string repositoryName = "LogFileAppender", string configFile = "log4net.config")
{
//控制台应用程序加上以下两句代码
Repository = LogManager.CreateRepository(repositoryName);
XmlConfigurator.Configure(Repository, new FileInfo(configFile));
_log = LogManager.GetLogger(repositoryName, "Logger");
}
/// <summary>
/// 普通日志
/// </summary>
/// <param name="msg"></param>
public static void Info(string msg)
{
_log.Info(msg);
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="msg"></param>
public static void Error(string msg)
{
_log.Error(msg);
}
}
3、在web端创建log4net.config文件并配置日志存放地址
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %newline%message%newline%newline" />
</appender>
<!--根配置-->
<root>
<!--日志级别:可选值: ERROR > WARN > INFO > DEBUG -->
<level value="ERROR"/>
<level value="INFO"/>
<appender-ref ref="ErrorLog" />
<appender-ref ref="InfoLog" />
</root>
<!-- 错误 Error.log-->
<appender name="ErrorLog" type="log4net.Appender.RollingFileAppender">
<!--目录路径,可以是相对路径或绝对路径-->
<param name="File" value="D:\logs\NetCore\Error\"/>
<!--文件名,按日期生成文件夹-->
<param name="DatePattern" value="/yyyyMMdd"/>
<!--追加到文件-->
<appendToFile value="true"/>
<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
<rollingStyle value="Composite"/>
<!--写到一个文件-->
<staticLogFileName value="false"/>
<!--单个文件大小。单位:KB|MB|GB-->
<maximumFileSize value="200MB"/>
<!--最多保留的文件数,设为"-1"则不限-->
<maxSizeRollBackups value="-1"/>
<!--日志格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%d{HH:mm:ss}]%m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR" />
<param name="LevelMax" value="ERROR" />
</filter>
</appender>
<!-- 信息 Info.log-->
<appender name="InfoLog" type="log4net.Appender.RollingFileAppender">
<!--目录路径,可以是相对路径或绝对路径-->
<param name="File" value="D:\logs\NetCore\Info\"/>
<!--文件名,按日期生成文件夹-->
<param name="DatePattern" value="/yyyyMMdd"/>
<!--追加到文件-->
<appendToFile value="true"/>
<!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]-->
<rollingStyle value="Composite"/>
<!--写到一个文件-->
<staticLogFileName value="false"/>
<!--单个文件大小。单位:KB|MB|GB-->
<maximumFileSize value="200MB"/>
<!--最多保留的文件数,设为"-1"则不限-->
<maxSizeRollBackups value="-1"/>
<!--日志格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%d{HH:mm:ss}]%m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="INFO" />
</filter>
</appender>
</log4net>
</configuration>
4、在web端Program.cs文件里Main方法里添加日志注册
5、在程序中使用日志记录,如:LogHelper.Info(“日志记录”);