1.引入Nuget包

log4net

2.添加log4Net配置文件

 <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender> <appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="logfile/" /> //指定日志文件保存的目录
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="1MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> <!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="FileAppender" />
<appender-ref ref="RollingLogFileAppender" />
</root> </log4net>
</configuration>

3.在StartUp.cs中配置log4Net

         //为StartUp.cs添加属性
public static ILoggerRepository repository { get; set; } public Startup(IConfiguration configuration, IHostingEnvironment env)
{
Configuration = configuration;
//log4net
repository = LogManager.CreateRepository("NETCoreRepository");
//指定配置文件
XmlConfigurator.Configure(repository, new FileInfo("log4net.config")); }

4.在程序中中使用log4Net写日志

下面是注入到控制器中的示例

     public class HomeController : Controller
{
//log4Net
private ILog log;
public UploadFilesController(IHostingEnvironment hostingEnv)
{
//log4Net
this.log = LogManager.GetLogger(Startup.repository.Name, typeof(HomeController));
}
public IActionResult Index()
{
var name = message.Name;
var age = message.Age;
log.Error("error message");
return View();
}
}

最新文章

  1. django 1.10 CSRF验证失败的解决过程
  2. Android Studio调试方法学习笔记
  3. Live Migrate 操作 - 每天5分钟玩转 OpenStack(42)
  4. Centos6.6下安装MySQL5.6
  5. yii 多模板
  6. PHP如何判断远程图片文件是否存在
  7. MySQL操作数据库和表的常用命令新手教程
  8. Codeforces Round #315 (Div. 1) A. Primes or Palindromes? 暴力
  9. 【无聊放个模板系列】BZOJ 1597 斜率优化
  10. 04_过滤器Filter_01_入门简述
  11. Gaussian and Truncated Gaussian
  12. java把结果集序列化成json通过out流传给前台步骤
  13. python之异常处理和re模块补充
  14. NOI-OJ 1.13 ID:34 确定进制
  15. python下载及安装
  16. 2017-11-10 Fr Oct 消参
  17. Openvswitch手册(2): OpenFlow Controller
  18. docker日志清理
  19. Hadoop数据类型
  20. zip()函数,max()和min(),built-in function,import模块,read(),readlines(),write(),writelines(),with..as..文件处理方式

热门文章

  1. 4-redis数据过期策略
  2. 洛谷P2502[HAOI2006]旅行
  3. Mysql常用命令行大全(转)
  4. JavaScript入门2
  5. C. Tennis Championship dp递推 || 找规律
  6. iOS 项目代码组织
  7. php服务端接收post的json数据
  8. C#将excel数据按照需求导入Sql server遇到的问题(参考而已)
  9. 【转】数据库CRUD操作
  10. Android Platform Version 和 API Level对照