.Net6 WebAPI使用log4net记录日志
文章目录
- 一、log4net是什么?
- 二、使用步骤
- 1.添加配置文件
- 2.Program使用配置文件
- 3.封装log4net操作
- 3.1新建一个类库,添加nuget包。
- 3.2工具类
- 4.使用方法
一、log4net是什么?
log4net是一个可以帮助程序员把日志信息输出到各种 不同目标的.net类库。它可以容易的加载到开发项目中,实现程序调试和运行的时候的日志信息输出,提供了比.net自己提供的debug类和trace 类的功能更多。log4net是从java下有卓越表现的log4j移植过来的。它是apache基金资助的项目的一部分。
二、使用步骤
1.添加配置文件
根目录下创建log4net.config配置文件
配置内容如下:
<?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="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"><file value="logs/Error/" /><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 - %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/Warn/" /><appendToFile value="true" /><rollingStyle value="Date"/><datePattern value="yyyy-MM-dd'.log'"/><maxSizeRollBackups value="100" /><staticLogFileName value="false" /><encoding value="utf-8" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%date [%thread] %-5level - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="WARN" /><levelMax value="WARN" /></filter></appender><appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender"><file value="logs/Info/" /><appendToFile value="true" /><rollingStyle value="Date"/><datePattern value="yyyy-MM-dd'.log'"/><maxSizeRollBackups value="100" /><staticLogFileName value="false" /><encoding value="utf-8" /><layout type="log4net.Layout.PatternLayout"><!--<conversionPattern value="%newline%date [%thread %-5level] %n %m%n" />--><conversionPattern value="%date [%thread] %-5level - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="TRACE " /><levelMax value="INFO" /></filter></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" /><appender-ref ref="WarnRollingFileAppender" /><appender-ref ref="InfoRollingFileAppender" /></root></log4net>
</configuration>
2.Program使用配置文件
在Program.cs类中添加代码
暂可先不引用nuget包,使用下方封装类库中间接引用即可
ILoggerRepository repository = LogManager.CreateRepository("LogRepository");
XmlConfigurator.Configure(repository, new FileInfo("Config/log4net.config"));
3.封装log4net操作
3.1新建一个类库,添加nuget包。
3.2工具类
创建工具类
内容如下:
输出时添加了日志的调用类和调用方法名,如不需要可自行删除。
public class LogUtil
{private static readonly ILog log = LogManager.GetLogger("LogRepository", typeof(LogUtil));/// <summary>/// 组织调用方法-日志信息/// </summary>/// <returns></returns>private static string GetCallerNameAndMsg(string msg){var callerMethod = new StackFrame(2, true)?.GetMethod();if (callerMethod == null){return msg;}return $"{callerMethod.DeclaringType.FullName }.{callerMethod.Name}-{msg}";}/// <summary>/// 日常日志/// </summary>/// <param name="msg"></param>/// <param name="obj"></param>public static void Info(string msg){if (log.IsInfoEnabled && !string.IsNullOrEmpty(msg)){log.Info(GetCallerNameAndMsg(msg));}}/// <summary>/// 警告日志/// </summary>/// <param name="msg"></param>/// <param name="obj"></param>public static void Warn(string msg){if (log.IsWarnEnabled && !string.IsNullOrEmpty(msg)){log.Warn(GetCallerNameAndMsg(msg));}}/// <summary>/// 错误日志/// </summary>/// <param name="msg"></param>/// <param name="obj"></param>public static void Error(string msg){if (log.IsErrorEnabled && !string.IsNullOrEmpty(msg)){log.Error(GetCallerNameAndMsg(msg));}}
}
4.使用方法
需要使用的项目引用Common类库,方法直接调用即可。
Common.Helper.LogUtil.Info("测试日志");
.Net6 WebAPI使用log4net记录日志相关推荐
- C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布
C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows.Liux环境下程序发布 一. MVC含义 二.数据传输 1.控制器向视图传输数据 三.日志组件Log4net ...
- C#使用log4net记录日志
1.下载 log4net 右键引用,选择 管理NuGet程序包,选择浏览,输入log4net,然后点击下载 2.在App.config中输入内容(不存在自己创建) <?xml version=& ...
- Windows服务使用log4net记录日志
该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇. 比较流行的日志组件有以下四种,Topshelf都有相应的组件提供 log4net NL ...
- .NET c#使用Log4net记录日志
log4net记录日志 记录一个简单的加法案例: 第一步下载log4net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 同时 ...
- 在.Net程序中使用log4net记录日志(示例)
log4j是java开发人员所熟悉,他提供了强大的日志记录功能,log4net是为.Net记录日志开发的.使用示例如下(C#): 1.app.config文件 <?xml version=&qu ...
- 转:C#使用Log4Net记录日志
第一步:下载Log4Net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 把下载的 log4net-1.2.11-bin-n ...
- 使用log4net记录日志到MySQL中 (转)
http://www.cnblogs.com/kongxx/archive/2005/10/09/251073.aspx 在log4net是.net平台中日志记录的开源工具包,其中包括了很多记录日志的 ...
- 使用 Log4Net 记录日志
第一步:下载Log4Net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 把下载的 log4net-1.2.11-bin-n ...
- ASP.NET+MVC+使用+Log4net+记录日志笔记
前言: 记录系统中的日志,是一个好的项目产品必备的一个环节.每一个产品最终的目的都是要交予客户使用,因为程序员代码的开发水平参差不齐,Bug就成为了项目运维成本最大的因素之一.如何降低项目运维的成本呢 ...
最新文章
- Java的Web项目使用DWR简单配置说明
- Linq学习笔记(三)
- Rsync+sersync同步配置
- CVPR 2018 论文解读集锦(9月26日更新)
- 《openssl 编程》之 RSA(转)
- iCOM组件(iComponent,应用或学习组件)
- VS11在Win8上的Metro应用
- 奇妙的安全旅行之DSA算法
- python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
- 云服务器饥荒_运用双腾讯云搭建《饥荒》多人联机服务器
- ajax无刷新提交表,Ajax无刷新提交表单和显示
- NYOJ 643 发短信(模拟)
- [2018.10.25 T3] 旅程
- 中国计算机学会推荐国际学术会议和期刊目录(2015 年)
- js中int转byte(-128—127)
- 计算机中求声音传输时间公式,混响时间常用的几种计算公式
- DDR3 内存带宽计算
- 报表工具能实现怎么的导出效果?
- JavaWeb如何判断账户密码
- 判断设备访问类型是PC端还是WAP端