ASP.NET Core使用log4net记录日志
2018-07-12 17:32
1256 查看
干粮直接上……
新建一个ASP.NET项目,并添加log4net.config文件,且log4net.config文件配置如下所示:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <!-- This section contains the log4net configuration settings --> <log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="Log/" /> <appendToFile value="true" /> <rollingStyle value="Composite" /> <staticLogFileName value="false" /> <datePattern value="yyyyMMdd'.log'" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="50MB" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %message%newline" /> </layout> </appender> <!-- Setup the root category, add the appenders and set the default level --> <root> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender" /> </root> </log4net> </configuration>
接下来编写一个记录日志的公共类代码如下:
public class Logger { private static ILog logger; static Logger() { if (logger == null) { var repository = LogManager.CreateRepository("NETCoreRepository"); //log4net从log4net.config文件中读取配置信息 XmlConfigurator.Configure(repository, new FileInfo("log4net.config")); logger = LogManager.GetLogger(repository.Name, "InfoLogger"); } } /// <summary> /// 普通日志 /// </summary> /// <param name="message"></param> /// <param name="exception"></param> public static void Info(string message, Exception exception = null) { if (exception == null) logger.Info(message); else logger.Info(message, exception); } /// <summary> /// 告警日志 /// </summary> /// <param name="message"></param> /// <param name="exception"></param> public static void Warn(string message, Exception exception = null) { if (exception == null) logger.Warn(message); else logger.Warn(message, exception); } /// <summary> /// 错误日志 /// </summary> /// <param name="message"></param> /// <param name="exception"></param> public static void Error(string message, Exception exception = null) { if (exception == null) logger.Error(message); else logger.Error(message, exception); } }
接下来就是在任意控制器或者类中使用刚编写的Logger类来记录日志到文件中
[HttpPost("list")] public async Task<IActionResult> CarList() { var msg = await service.GetCarList(Request); Logger.Info(JsonConvert.SerializeObject(msg));//此处调用日志记录函数记录日志 return Json(msg); }
记录的日子在Log文件目录中:
打开文件查看日志内容如下所示:
注意,如果Logger类中抛出FileNotFoundException异常,说明目录下未找到log4net.config文件,这时请在项目log4net.config文件上右键——属性——将“复制到输出目录”项的值改为“始终复制”即可。
相关文章推荐
- asp.net Web项目中使用Log4Net进行错误日志记录
- 如何使用Apache log4net库与ASP.NET MVC 5日志记录
- 在ASP.NET MVC中使用Log4Net记录异常日志,出错时导向到静态页
- EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
- asp.net Web项目中使用Log4Net进行错误日志记录
- ASP.NET中使用log4net记录日志
- ASP.NET Core 中使用 GrayLog 记录日志
- ASP.NET Core 2.0 使用NLog实现日志记录
- 在ASP.NET MVC中使用Log4Net进行多种HttpCode日志的记录
- asp.net Web项目中使用Log4Net进行错误日志记录
- asp.net Web项目中使用Log4Net进行错误日志记录
- ASP.NET Core使用NLog记录日志到Microsoft Sql Server
- Log4Net异常日志记录在asp.net mvc3.0的应用
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误
- asp.net mvc中加入log4net记录错误日志
- Asp.net Core中使用NLog,并封装成公共的日志方法
- ASP.NET使用log4Net日志组件教程(每天产生一个日志及日志按大小切割)
- ASP.NET使用log4Net日志组件教程(日志按大小切割)
- Log4Net异常日志记录在asp.net mvc3.0的应用
- Log4net 框架系列:log4net日志文件在asp.net中的应用实例-记录系统错误