这里需要说的就是创建静态ILoggerRepository的时候需要导包,最机智的方法自然就是dotnet new sln创建一个解决方案,把项目填进去,用VS解决这件事。
public static ILoggerRepository repository{get;set;} public Startup(IConfiguration configuration) { Configuration = configuration; //加载log4net日志配置文件 repository = LogManager.CreateRepository("NETCoreRepository"); XmlConfigurator.Configure(repository, new FileInfo("log4net.config")); }全局异常类
using log4net; using Microsoft.AspNetCore.Mvc.Filters; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Blog { public class HttpGlobalExceptionFilter : IExceptionFilter { private ILog log = LogManager.GetLogger(Startup.repository.Name, typeof(HttpGlobalExceptionFilter)); public void OnException(ExceptionContext context) { log.Error(context.Exception); } } }log的使用方式,一般情况下吧log对象放在基类中就够用了。
protected static ILog log = LogManager.GetLogger(Startup.repository.Name, typeof(HttpGlobalExceptionFilter)); log.Info("log test fisish");