1新建NetCore项目,我这里NetCoreSDK版本是2.2.0。

2.进入NuGet程序包官网 : https://www.nuget.org,搜索以下两个包并安装到项目中。

Microsoft.Extensions.Logging.Log4Net.AspNetCore

Log4Net

打开项目的程序包管理控制台,运行以下两条命令,安装Log4Net到项目中

a、Install-Package Microsoft.Extensions.Logging.Log4Net.AspNetCore -Version 2.2.10
b、Install-Package log4net -Version 2.0.8
 
3、项目新建一个目录,新增一个log4net.config的配置文件。

config内容如下。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net>
<!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
<!-- Set root logger level to ERROR and its appenders -->
<root>
<level value="ALL"/>
<appender-ref ref="SysAppender"/>
</root>
<!-- Print only messages of level DEBUG or above in the packages -->
<logger name="WebLogger">
<level value="DEBUG"/>
</logger> <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" value="Content/Logs/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%L] %n%m %n" />
<param name="Header" value=" ----------------------Header-------------------------- " />
<param name="Footer" value=" ----------------------Footer-------------------------- " />
</layout>
</appender> <appender name="consoleApp" type="log4net.Appender.ConsoleAppender,log4net">
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
</log4net> </configuration>

4、在Startup.cs中的配置如下

        ...

     public  static log4net.Repository.ILoggerRepository LogRepository { get; set; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
LogRepository = log4net.LogManager.CreateRepository("NetCoreRepository");
log4net.Config.XmlConfigurator.Configure(LogRepository, new FileInfo(@"Config\log4net.config"));
}
    ...

5、新建一个Core文件夹,增加一个Log4Net.cs的日志帮助类

using log4net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; namespace CMSCore.Web.Core
{
public class Log4Net
{
private static ILog log;
static Log4Net()
{
log = LogManager.GetLogger(Startup.LogRepository.Name,typeof(Log4Net));
}
public static void Info(string message)
{
log.Info(message);
} public static void Warn(string message)
{
log.Warn(message);
}
public static void Warn(string message,Exception ex)
{
log.Warn(message,ex);
} public static void Error(string message)
{
log.Error(message);
}
public static void Error(string message,Exception ex)
{
log.Error(message,ex);
} public static void Debug(string message)
{
log.Debug(message);
}
public static void Debug(string message, Exception ex)
{
log.Debug(message, ex);
} }
}

6、在项目中需要记录日志的类引用该命名空间,即可在项目中使用log4net的类的方法记录日志了。

VS2017-NetCore项目整合Log4Net的更多相关文章

  1. .netcore 整合 log4net

    1.背景 前两天,曾经的一个同事咨询我,怎样将log4net以中间件的形式整合到core里边去.我不假思索的回答,这种问题应该有人做过吧,他说没有.于是,我去博客园搜了下,发现还真没有,全部都是传统. ...

  2. 在Winform项目和Web API的.NetCore项目中使用Serilog 来记录日志信息

    在我们常规的调试或者测试的时候,喜欢把一些测试信息打印在控制台或者记录在文件中,对于.netframework项目来说,我们输出控制台的日志信息习惯的用Console.WriteLine来输出查看,不 ...

  3. IT咨询顾问:一次吐血的项目救火 java或判断优化小技巧 asp.net core Session的测试使用心得 【.NET架构】BIM软件架构02:Web管控平台后台架构 NetCore入门篇:(十一)NetCore项目读取配置文件appsettings.json 使用LINQ生成Where的SQL语句 js_jquery_创建cookie有效期问题_时区问题

    IT咨询顾问:一次吐血的项目救火   年后的一个合作公司上线了一个子业务系统,对接公司内部的单点系统.我收到该公司的技术咨询:项目启动后没有规律的突然无法登录了,重新启动后,登录一断时间后又无法重新登 ...

  4. 第八节:Asp.Net Core整合Log4net(官方的、微软的两种)

    一. 整合Log4net 1. 简单说明 对于log4net 官方的程序集而言,从2.0.7开始就支持.Net Core了,这里我们采用的是2.0.8,虽然好久没更新了,但不影响使用.Core版本与普 ...

  5. dotnet跨平台 - 使用Nginx+Docker Compose运行.NETCore项目

    参考文档: https://docs.docker.com/install/linux/docker-ce/centos/ http://www.dockerinfo.net/document htt ...

  6. PMP 第四章 项目整合管理

    1.什么是整合管理,整合什么?如何整合?    项目整合管理包括识别 定义 组合 统一与协调项目管理过组的个过程及项目管理活动二进行的各种过程和活动.    整合兼具统一 合并 连接和一体化的性质,对 ...

  7. Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码)

    Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合(注解及源码) 备注: 之前在Spring3 + Spring MVC+ Mybatis 3+Mysql 项目整合中 ...

  8. 实战突击: Java Web项目整合开发(PDF)

    实战突击:  Java  Web项目整合开发(PDF)

  9. SSM项目整合基本步骤

    SSM项目整合 1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003  年兴起的一个轻量级的 Java  开发框架,由 Rod Johnson  在其著作  ...

随机推荐

  1. 计算科学(转自wiki)

    计算科学(也称科学计算 scientific computation 或 SC)是一个快速增长的多学科领域,使用先进的计算能力来理解和解决复杂的问题. 计算科学包括三个不同的方面: 1. 开发用于解决 ...

  2. 关于.Net中Process的使用方法和各种用途汇总(一):Process用法简介

    简介: .Net中Process类功能十分强大.它可以接受程序路径启动程序,接受文件路径使用默认程序打开文件,接受超链接自动使用默认浏览器打开链接,或者打开指定文件夹等等功能. 想要使用Process ...

  3. 在计算机视觉与人工智能领域,顶级会议比SCI更重要(内容转)

    很多领域,SCI是王道,尤其在中国,在教师科研职称评审和学生毕业条件中都对SCI极为重视,而会议则充当了补充者的身份.但是在计算机领域,尤其是人工智能与机器学习领域里,往往研究者们更加青睐于会议 我无 ...

  4. android中实现在矩形框中输入文字,可以显示剩余字数的功能

    虽然这两个功能都比较简单,但是在实际app开发中真的很常见,特别是显示字数或剩余字数这个功能 如下图: 要实现上面的功能,需要做到三点: 1.实现矩形框布局 思路就是矩形框作为整个布局的一个backg ...

  5. 关于使用 autoFac 的注入方法

    1.使用 NUGET 安装 Autofac 2.需要引用Autofac ASP.NET MVC 5 Integration  这个扩展包. 但有时候在NuGet中找不到 该包 需要使用“程序要控制器控 ...

  6. 百度AI车牌识别测试

    测试背景 百度已发布诸多AI应用,其中包含车牌识别,免费使用量是200次/日.付费的话,按月调用次数在20万次到50万次之间,每日10000次,月费用为0.0035*300000=1050元. 详见: ...

  7. Microsoft SQL Server学习(七)--函数视图

    系统函数 视图 索引 1.系统函数 (1) ()数学函数 Abs() 绝对值 Floor() 向下取整 Ceiling() 向上取整 Sin() 返回指定角度(以弧度为单位)的三角正弦值 Pi() 圆 ...

  8. JS高级——文件操作

    https://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/12/2208589.html https://blog.csdn.net/pl16 ...

  9. (转)全文检索技术学习(三)——Lucene支持中文分词

    http://blog.csdn.net/yerenyuan_pku/article/details/72591778 分析器(Analyzer)的执行过程 如下图是语汇单元的生成过程:  从一个Re ...

  10. codeforces_455B

    B. A Lot of Games time limit per test 1 second memory limit per test 256 megabytes input standard in ...