ABP框架—后台:日志log4net(9)

2023-12-18 11:58
文章标签 日志 框架 后台 log4net abp

本文主要是介绍ABP框架—后台:日志log4net(9),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、Nuget引入log4net依赖包


如图:

官方地址:http://logging.apache.org/log4net


二、Startup中配置log4net

在ConfigureServices方法中使用容器添加log4net以及配置log4net.config

public class Startup
{public IServiceProvider ConfigureServices(IServiceCollection services){//.............//.............// Configure Abp and Dependency Injectionreturn services.AddAbp<PDWebHostModule>(// Configure Log4Net loggingoptions => options.IocManager.IocContainer.AddFacility<LoggingFacility>(f => f.UseAbpLog4Net().WithConfig("log4net.config")));}
}

二、log4net.config配置


默认配置:

<?xml version="1.0" encoding="utf-8" ?>
<log4net><appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" ><file value="App_Data/Logs/Logs.txt" />  --写入制定文件<appendToFile value="true" />    --true 日志追加写入文件--Size 文件大小进行拆分日志文件Logs.txt --创建新文件的方式,可选为Size(按文件大小),Date(按日期),Once(每启动一次创建一个文件),Composite(按日期及文件大小),默认为Composite<rollingStyle value="Size" />    --备份日志数目,默认为0。在CountDirection为负数时有效。<maxSizeRollBackups value="10" />--当RollingStyle为Composite或Size,这里设置最大文件大小(可以KB,MB,GB为单位,默认为字节)<maximumFileSize value="10000KB" />--True 日志文件是否为静态--True/false,默认为true。为true时,RollingStyler的date值将无效。且为true时,需要在file里指定文件名,所有日志都会记录在这个文件里。<staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"><conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />   --日志格式</layout></appender><root><appender-ref ref="RollingFileAppender" />--Log4net的日志等级从低到高依次分为:ALL ---> DEBUG ---> INFO ---> WARN ---> ERROR ---> FATAL ---> OFF--DEBUG及DEBUG以下级别都进行记录日志<level value="DEBUG" /> </root>
</log4net>

当需要把不同级别日志进行分文件记录时,进行如下配置:
 

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="DEBUG"><file value="App_Data/Logs/Debug/" /> --日志文件路径 <appendToFile value="true" /><DatePattern value="yyyy-MM-dd_HH&quot;.txt&quot;"/> --日志文件命名格式<RollingStyle value="Date"/>  --Date日期命名<staticLogFileName value="false" />  --false 日志文件动态命名<layout type="log4net.Layout.PatternLayout"><conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="DEBUG" /><param name="LevelMax" value="DEBUG" /></filter></appender><appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="INFO"><file value="App_Data/Logs/Info/" /><appendToFile value="true" /><DatePattern value="yyyy-MM-dd_HH&quot;.txt&quot;"/><RollingStyle value="Date"/><staticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="INFO" /><param name="LevelMax" value="INFO" /></filter></appender><appender name="WarnRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="WARN"><file value="App_Data/Logs/Warn/" /><appendToFile value="true" /><DatePattern value="yyyy-MM-dd&quot;.txt&quot;"/><RollingStyle value="Date"/><staticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="WARN" /><param name="LevelMax" value="WARN" /></filter></appender><appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="ERROR"><file value="App_Data/Logs/Error/" /><appendToFile value="true" /><DatePattern value="yyyy-MM-dd&quot;.txt&quot;"/><RollingStyle value="Date"/><staticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" /></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ERROR" /><param name="LevelMax" value="ERROR" /></filter></appender><root><level value="All" /><appender-ref ref="DebugRollingFileAppender" /><appender-ref ref="InfoRollingFileAppender" /><appender-ref ref="WarnRollingFileAppender" /><appender-ref ref="ErrorRollingFileAppender" /></root></log4net>

三、手动记录日志

当程序运行时,ABP内部已经记录了日志,如果我们需要更加详细的手动记录日志也是可以的。 在Application应用服务中记录日志

public class MenuAppService : PDAppServiceBase,IMenuAppService
{public ILogger Logger { get; set; }public MenuAppService(){Logger = NullLogger.Instance;}public void Get(){Logger.Info("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");}
}

说明:Log4Net的abp官方说明https://aspnetboilerplate.com/Pages/Documents/Logging#config

这篇关于ABP框架—后台:日志log4net(9)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/508293

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

解读GC日志中的各项指标用法

《解读GC日志中的各项指标用法》:本文主要介绍GC日志中的各项指标用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基础 GC 日志格式(以 G1 为例)1. Minor GC 日志2. Full GC 日志二、关键指标解析1. GC 类型与触发原因2. 堆

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

MySQL 打开binlog日志的方法及注意事项

《MySQL打开binlog日志的方法及注意事项》本文给大家介绍MySQL打开binlog日志的方法及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、默认状态二、如何检查 binlog 状态三、如何开启 binlog3.1 临时开启(重启后失效)

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Golang 日志处理和正则处理的操作方法

《Golang日志处理和正则处理的操作方法》:本文主要介绍Golang日志处理和正则处理的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录1、logx日志处理1.1、logx简介1.2、日志初始化与配置1.3、常用方法1.4、配合defer

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

SpringBoot实现文件记录日志及日志文件自动归档和压缩

《SpringBoot实现文件记录日志及日志文件自动归档和压缩》Logback是Java日志框架,通过Logger收集日志并经Appender输出至控制台、文件等,SpringBoot配置logbac... 目录1、什么是Logback2、SpringBoot实现文件记录日志,日志文件自动归档和压缩2.1、