ASP.NET Core 使用Log4net

1. Nuget安装log4net,图里的两个

2.项目根目录下添加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="yyyy-MM-dd'.log'" /><maxSizeRollBackups value="10" /><maximumFileSize value="10MB" /><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>

3. 添加一个logHelper.cs

    public class LogHelper{private static readonly ILog logger;static LogHelper(){if (logger == null){var repository = LogManager.CreateRepository("NETCoreRepository");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);elselogger.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);elselogger.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);elselogger.Error(message, exception);}}

4. 调用:

LogHelper.Info("test Info log");     //普通日志
LogHelper.Warn("test Warn log");      //告警日志
LogHelper.Error("test Error log");   //错误日志

项目里就会生成log文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/41707.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言之常用内存函数以及模拟实现

目录 前言 一、memcpy的使用和模拟实现 二、memmove的使用和模拟实现 三、memset的使用和模拟实现 四、memcmp的使用和模拟实现 总结 前言 本文主要讲述C语言中常用的内存函数&#xff1a;memcpy、memmove、memset、memcmp。内容不多&#xff0c;除了了解如何使用&#x…

细说MCU的ADC模块单通道连续采样的实现方法

目录 一、工程依赖的硬件及背景 二、设计目的 三、建立工程 1、配置GPIO 2、选择时钟源和Debug 3、配置ADC 4、配置系统时钟和ADC时钟 5、配置TIM3 6、配置串口 四、代码修改 1、重定义TIM3中断回调函数 2、启动ADC及重写其回调函数 3、定义用于存储转换结果的数…

WHAT - SWR(stale-while-revalidate)HTTP 缓存失效策略 - 请求方案

目录 介绍传统数据请求的 React 代码示例SWR 的 React 代码示例SWR 的优势和不同之处 可复用组件真实示例特性解读自动重新请求1. 聚焦时重新请求2. 定期重新请求3. 重新连接时重新请求 条件数据请求1. 按需请求2. 依赖请求 数据更改1. 乐观更新2. 在数据更改后更新缓存3. 基于…

一个pdf分割成多个pdf,一个pdf分成多个pdf

在数字化办公和学习中&#xff0c;pdf格式因其良好的兼容性和稳定性而受到广泛欢迎。但有时候&#xff0c;我们可能需要将一个大的pdf文件分割成多个小文件&#xff0c;以便于分享、打印或编辑。今天&#xff0c;我就来教大家几种简单有效的方法&#xff0c;让你轻松实现pdf文件…

基于Wireshark和TiWsPC(Wireshark Packet Converter)的Zigbee抓包

前言 介绍几种Zigbee抓包方式&#xff1a; 1. Ubiqua 使用教程网上非常多也非常清晰&#xff1b; 但是Ubiqua是收费软件&#xff0c;较贵&#xff1b; 我安装过了&#xff0c;费好多事&#xff0c;没安装成功。 2. Killerbee套件 https://github.com/riverloopsec/killerbe…

WACV2023论文速览域迁移Domain相关

Paper1 CellTranspose: Few-Shot Domain Adaptation for Cellular Instance Segmentation 摘要原文: Automated cellular instance segmentation is a process utilized for accelerating biological research for the past two decades, and recent advancements have produc…

Ad-hoc命令和模块简介

华子目录 Ad-hoc命令和模块简介1.概念2.格式3.Ansible命令常用参数4.模块类型4.1 三种模块类型4.2Ansible核心模块和附加模块 示例1示例2 Ad-hoc命令和模块简介 1.概念 Ansible提供两种方式去完成任务&#xff0c;一是ad-hoc命令&#xff0c;一是写Ansible playbook(剧本)Ad-…

【电商纯干货分享】干货速看!电商数据集数据API接口数据分析大全!

数据分析——深入探索中小企业数字化转型&#xff0c;专注提供各行业数据分析干货、分析技巧、工具推荐以及各类超实用分析模板&#xff0c;为钻研于数据分析的朋友们加油充电。 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09…

02浅谈大模型文本生成的背后逻辑

02浅谈大语言模型文本生成的背后逻辑 两个概念&#xff1a; 通俗理解大模型文本生成逻辑 假设有一个prompt&#xff1a;How are you &#xff1f;&#xff0c;输入给大模型&#xff0c;那么大模型使怎么输出&#xff1f;

uni-app x 跨平台开发框架

目录 uni-app x 是什么 和Flutter对比 uts语言 uvue渲染引擎 组合式API的写法 选项式API写法 页面生命周期 API pages.json全局配置文件 总结 uni-app x 是什么 uni-app x&#xff0c;是下一代 uni-app&#xff0c;是一个跨平台应用开发引擎。 uni-app x 是一个庞…

使用 HAProxy 进行 MySQL 负载均衡

本章教程主要记录如何用HAProxy 实现MySQL负载均衡配置。 一、安装haproxy 在 Ubuntu/Debian 上&#xff1a; sudo apt-get update sudo apt-get install haproxy在 CentOS/RHEL 上&#xff1a; sudo yum install haproxy二、配置haproxy 编辑 HAProxy 配置文件&#xff08;…

ETAS工具导入Com Arxml修改步骤

文章目录 前言Confgen之前的更改Confgen之后的修改CANCanIfComComMEcuM修改CanNmCanSMDCMCanTp生成RTE过程报错修改DEXT-诊断文件修改Extract问题总结前言 通讯协议栈开发一般通过导入DBC实现,ETAS工具本身导入DBC也是生成arxml后执行cfggen,本文介绍直接导入客户提供的arxml…

IP-Guard定制函数配置说明

设置客户端配置屏蔽&#xff1a; 关键字&#xff1a;disfunc_austascrtrd 内容&#xff1a;1 策略效果&#xff1a;屏幕整个屏幕监控模块。会导致屏幕历史查询这个功能也不能使用。 security_proxy1 安全代理参数 safe_enforce_authproc进程 强制软件上 安全代理网关&#xf…

Spring中@Transactional的实现和原理

这篇文章写的很详细了&#xff0c;引自脚本之家 Java中SpringBoot的Transactional原理_java_脚本之家

深入理解Qt的隐式共享机制

在Qt中&#xff0c;一个关键的性能优化特性是其数据结构的隐式共享机制&#xff0c;这在Qt的文档和API中常被称为“隐式共享”或“写时复制&#xff08;Copy-On-Write, COW&#xff09;”。本文将详细介绍这一机制&#xff0c;并通过QString类的实现代码和相应的反汇编代码来阐…

动态颤抖的眼睛效果404页面源码

动态颤抖的眼睛效果404页面源码&#xff0c; 源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 动态颤抖的眼睛效果404页面源码

springboot+vue+mybatis图书馆借阅管理系统+PPT+论文+讲解+售后

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

python 将stl数据转为vtk

在Python中&#xff0c;可以使用vtk库将STL&#xff08;Stereolithography&#xff09;三维模型数据转换为VTK&#xff08;Visualization Toolkit&#xff09;格式。以下是一个简单的例子&#xff0c;演示如何进行转换&#xff1a; 首先&#xff0c;确保安装了vtk库。如果没有…

AI大模型时代的存储发展趋势

从2022年下半年&#xff0c;大模型和AIGC这两个词变得极其火热&#xff0c;而GPU的市场也是一卡难求。对于这种迷乱和火热&#xff0c;让我想起了当年的比特币挖矿和IPFS。似乎世界一年一个新风口&#xff0c;比特币、元宇宙、NFT、AIGC&#xff0c;金钱永不眠&#xff0c;IT炒…

IIS数字功放MAX98357开发板/评估系统

前言 MAX98357中文介绍请访问下行链接 MAX98357、MAX98357A、MAX98357B小巧、低成本、PCM D类IIS放大器&#xff0c;具有AB类性能中文说明规格书 一般描述 MAX98357 开发板&#xff08;DEV 板&#xff09;是一个完全组装并经过测试的 PCB&#xff0c;用于评估 MAX98357 I2S …