网站首页 > 技术教程 正文
目录
- 前言
- Log4net
- 测试
- 小结
前言
不知不觉可都快又一年了,最近这段时间一直在忙着图形方面的东西(确实快给我搞死了),虽说时间还是相对有的,但是精力耗费的十有十一,把问题记录单开一栏,是为了后续记录使用中遇到的问题及相应的解决方法。
Log4net
关于这个日志记录类库,我也不需要多说,具体配置可见:net core Webapi基础工程搭建(四)——日志功能log4net。
今天刚好一个网友问我,说业务上需要不同级别存储到不同文件,确实在日志记录上,常规不会把所有级别的日志文件放到同一个,这样会把自己眼给看坏的,因为之前做过这块儿的操作,所以这里也就不多说,直接看代码吧。
首先,我们需要在log4net.config中加上一个新的填充日志的方法,这里说下filter,很明显,这是个过滤器,作用呢就是可以指定记录日志的级别,所以,也就不用多说了,一看便知。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- This section contains the log4net configuration settings -->
<log4net debug="false">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!--很关键的一句,让日志文件不被占用-->
<file value="logs/" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<!--这里就是只记录对应级别的配置-->
<appender name="RollingErrorLogAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<!--很关键的一句,让日志文件不被占用-->
<file value="logs/error/" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<staticLogFileName value="false" />
<datePattern value="yyyyMMdd'.log'" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="ERROR" />
<levelMax value="FATAL" />
</filter>
</appender>
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="RollingLogFileAppender" />
<!--这里是新增一个配置-->
<appender-ref ref="RollingErrorLogAppender" />
</root>
</log4net>
</configuration>
然后我们来做个测试吧,问题记录以后尽量精简不废话。
测试
在ValuesController的测试接口更改日志测试为以下代码。
#region ========日志测试========
//日志测试
LogUtil.Info("测试");
LogUtil.Error("错误测试");
#endregion
运行程序。
我们来看下效果,首先默认的日志文件还是记录了多个级别的日志。
再来看下error下面的日志文件。
小结
ok,基本上到这里就结束了,其实这篇东西不多,只是想借此也开一个问题记录栏,毕竟示例是一回事,实际业务使用又是一回事(当然,说起来这个WebApi工程好久没动过了,唉,搞毛啊),后续还是会继续鼓捣东西,一点点儿的通过这个示例工程来展示效果。
猜你喜欢
- 2024-10-27 NET 6 NLog教程与使用 .net nlog
- 2024-10-27 .NET 远程日志组件 Jack.RemoteLog
- 2024-10-27 如何在企业中轻松地管理群聊(上) 企业群管理规章制度
- 2024-10-27 在 ASP.NET Core 中使用 Serilog 使用 Fluentd 将日志写入 Elasticsearch
- 2024-10-27 asp.net如何添加日志NLog aspnet日历控件
- 2024-10-27 Asp.Net Core中使用NLog记录日志 netcore日志框架对比
- 2024-10-27 EvnetLog Analyzer作为一款日志管理软件能给企业带来哪些帮助?
- 2024-10-27 .Net Core下NLog日志框架使用入门
- 2024-10-27 C# .NET 6 校园图书管理系统:第六章 .Net6之NLog日志的配置与使用
- 2024-10-27 ASP.NET Core:ASP.NET Core中使用NLog记录日志
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)