当前位置: 首页 > news >正文

.net6 webapi log4net完整配置使用流程

前置:为项目安装如下两个依赖 

1.创建文件夹cfgFile

2.创建log4net.Config

<?xml version="1.0" encoding="utf-8" ?>
<log4net><appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /></layout></appender><appender name="FileAppender" type="log4net.Appender.FileAppender"><!--文件地址--><file value="logs/log-file.txt" /><!--追加日志内容--><appendToFile value="true" /><!--多线程--><lockingModel type="log4net.Appender.FileAppender+MinimalLock"/><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="logs/LogFile/Error/" /><appendToFile value="true" /><rollingStyle value="Composite" /><datePattern value="yyyyMMdd'.log'" /><maxSizeRollBackups value="20" /><maximumFileSize value="3MB" /><staticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="ERROR" /><levelMax value="FATAL" /></filter></appender><appender name="WarnRollingFileAppender" type="log4net.Appender.RollingFileAppender"><file value="logs/LogFile/Warn/" /><appendToFile value="true" /><rollingStyle value="Date" /><datePattern value="yyyy-MM-dd'.log'" /><encoding value="utf-8" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%newline%date [%thread %-5level] %n -- %m%n" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="WARN" /><levelMax value="WARN" /></filter></appender><appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender"><file value="logs/LogFile/Info/" /><appendToFile value="true" /><rollingStyle value="Date" /><datePattern value="yyyy-MM-dd'.log'" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%newline%date [%thread %-5level] %n %m%n" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="INFO" /><levelMax value="INFO" /></filter></appender><root><level value="ALL" /><appender-ref ref="ConsoleAppender" /><appender-ref ref="FileAppender" /><appender-ref ref="RollingLogFileAppender" /><appender-ref ref="WarnRollingFileAppender" /><appender-ref ref="InfoRollingFileAppender" /></root>
</log4net>

3.使用日志

Program.cs->添加配置

//日志
builder.Logging.AddLog4Net("CfgFile/log4net.Config");

配置位置tips: 

4.通过构造函数注入日志在控制器中

//UsersController控制器中
private readonly ILogger<UsersController> _logger;public UsersController(ILogger<UsersController> logger){_logger = logger;}

配置位置tips:  

5.使用日志

 _logger.LogInformation("这是一个Get请求");

配置位置tips:  

6.测试日志是否成功

执行项目

  • 查看bin文件夹下是否多了下面的目录

  • 调用Get命令,查看在输出中是否有刚才那段日志

ok,日志配置成功~~

相关文章:

  • 数据结构——线性表
  • Dockerfile文件中只指定挂载点会发生什么?
  • 秸秆焚烧识别摄像机
  • 突出最强算法模型——回归算法 !!
  • Rust 学习笔记 - 详解数据类型
  • 基于Java的车辆租赁管理平台/租车系统
  • 打码半年,开源一款自定义大屏设计软件!
  • AI:128-基于机器学习的建筑物能源消耗预测
  • 分治算法总结(Java)
  • 每日一题——LeetCode1470.重新排列数组
  • 微信小程序video 点击自动全屏播放
  • Sora:新一代实时音视频通信框架
  • C++ template-2
  • android之Cordova 5.3.1 Android 应用无法上网
  • Oracle使用exp和imp命令实现数据库导出导入
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • Fastjson的基本使用方法大全
  • java8 Stream Pipelines 浅析
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • springboot_database项目介绍
  • uni-app项目数字滚动
  • 大型网站性能监测、分析与优化常见问题QA
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 记一次和乔布斯合作最难忘的经历
  • 简单易用的leetcode开发测试工具(npm)
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 利用DataURL技术在网页上显示图片
  • 聊聊hikari连接池的leakDetectionThreshold
  • 为视图添加丝滑的水波纹
  • 一文看透浏览器架构
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #define
  • #Java第九次作业--输入输出流和文件操作
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (LeetCode 49)Anagrams
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .NET Standard 的管理策略
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET处理HTTP请求
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .py文件应该怎样打开?
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?