使用Log4net 日志系统
官方文档 http://logging.apache.org/log4net/release/config-examples.html
C# 项目中直接使用nuget,下载Apache的log4net依赖包。
在项目的App.config中添加配置
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections>
(Section一定要是configuration下的第一个子节点。)
下面是具体的Logger的配置,网上有很多参考,不赘述了。
<log4net> <root> <level value="DEBUG" /> <appender-ref ref="RollingFileAppender" /> <level value="ALL" /> <appender-ref ref="ConsoleAppender" /> </root> <logger name="Test.Logging"> <level value="ALL"/> </logger> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" > <!--配置在root注册的appender-ref具体属性--> <!--如果填写的目录已经有同名的文件,会出现不生成日志的情况,在每次测试后,一定记得删除测试文件--> <param name="File" value="../../../../Log//"/> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyy-MM-dd.LOG" /> <param name="AppendToFile" value="true"/> <!--不加utf-8编码格式,中文字符将显示成乱码--> <param name="Encoding" value="unicodeFFFE" /> <!--保留的文件数--> <param name= "MaxSizeRollBackups" value= "-1"/> <!--每个日志文件的最大大小--> <!--可用的单位:KB|MB|GB--> <maximumFileSize value="200MB"/> <param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" /> <!--输出格式-->> <layout type="log4net.Layout.PatternLayout"> <param name="Header" value=""/> <param name="Footer" value=""/> <param name="ConversionPattern" value="%d %-5p - %m%n" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="WARN" /> <param name="LevelMax" value="FATAL" /> <!--只将这个范围内的日志保存进文件--> <!--ALL<DEBUG<INFO<WARN<ERROR<FATAL<None--> </filter> </appender> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" > <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p - %m%n" /> </layout> </appender> </log4net>
在AssemblyInfor.cs 中加入
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
如果你的日志需要非常的多的配置,可以新开一个配置文件,可以查看他人文档,我并没有进行测试。
在项目入口加入
log4net.Config.XmlConfigurator.Configure();
用于自动加载App.config中配置的日志器属性。
Var logger = log4net.LogManager.GetLogger("Test.Logging");
就可以开始用了。
通过配置不同的filter,可以将不同等级的日志输出到不同的文件中
使用Log4net 日志系统的更多相关文章
- log4net.redis+logstash+kibana+elasticsearch+redis 实现日志系统
前端时间写了个随笔 log4net.NoSql +ElasticSearch 实现日志记录 ,因项目原因需要把日志根java平台的同事集成采用logstash+kibana+elasticsearch ...
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- .NET下日志系统的搭建——log4net+kafka+elk
.NET下日志系统的搭建--log4net+kafka+elk 前言 我们公司的程序日志之前都是采用log4net记录文件日志的方式(有关log4net的简单使用可以看我另一篇博客),但是随着 ...
- 磨刀不误砍柴工——统一日志系统 Log4Net/ExceptionLess
本文版权归博客园和作者吴双本人共同所有,转载和爬虫必须注明原文地址:www.cnblogs.com/tdws . 一. 写在前面 本文Log4Net介绍了基础的方式,大数据量生产环境不能使用,中等 ...
- 【5】基于Log4Net的日志系统
阅读目录 日志系统应具备的特性 Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置 不管是Web应用程序还是W ...
- 统一日志系统 Log4Net/ExceptionLess
一. 写在前面 本文Log4Net介绍了基础的方式,大数据量生产环境不能使用,中等日志量请日志单库. 希望爱技术的你不要错过exceptionless和ELK 第四节开始简单配置大牛们推荐的了Ex ...
- 2.1 自定义日志系统-log4net
说明 Prism中如果把日志级别设定为DEBUG,会显示框架加载信息 Prism默认是没有日志系统的 步骤 下载log4net包 Install-Package log4net; 在app.confi ...
- [Asp.net 5] Logging-其他日志系统的实现
Microsoft.Framework.Logging.NLog 使用Nlog扩展日志系统:按照我们上节说的,对于扩展的日志系统都要实现俩个接口ILogger.ILoggerProvider.所以在当 ...
- 如何让Log4net日志文件按每月归成一个文件夹,StaticLogFileName参数的用法
想要让Log4net日志(以下称日志)按每月自动归类为一个文件夹,为此,学习和修改了log4net.config文件.查了资料,重点是以下这些参数: <param name=" ...
随机推荐
- Kaggel比赛 : [Give Me Some Credit]
通过预测在未来两年内某人将经历财务困境的可能性,改善信用评分的状态. Description 银行在市场经济中扮演着至关重要的角色.他们决定谁可以获得融资,以及什么条件,可以做出或破坏投资决策.为了让 ...
- Qt基础学习---滑动条之QSlider
Qt滑动条基本用法: //mydialog.h #ifndef MYDIALOG_H #define MYDIALOG_H #include <QDialog> class QLineEd ...
- 三层实现办公用品表CRUD(全过程)-ASP
好久都没有写写技术博客了,自己最近几个月都要忙着搬家还有添置家当,所以一些博客就很少去写了,天道酬勤,有些吃饭的家伙还是不能有所懈怠,所以送上一个花了几小时给人事同事写的简单办公用品表的CRUD,希望 ...
- Vnpy二次开发应用所需图标
在针对Vnpy二次开发时,很多窗口中需要使用到“小图标” 给大家分享一个UI的专业图标网,上面资源齐全. https://www.iconfont.cn/collections?personal=1
- Python的日期函数datetime使用
前记:Python的时间模块,time,datetime功能很丰富,要多源码学习一下,常用的strftime()和strptime()等等要灵活使用 import datetime now_time ...
- java语言规范,main方法必须声明为public
注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查 ...
- node常用模块---path
path---用来提供文件路径和文件之间的处理的函数 node常用模块之path
- mysql查询今天、昨天、上周
mysql查询今天.昨天.上周 今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE ...
- Vue(三) v-bind 及 class 与 style 绑定
DOM 元素经常会动态绑定一些 class 类名 或 style 样式,现在介绍使用 v-bind 指令来绑定 class 和 style 的多种方法. 了解 v-bind 指令 在之前已经介绍了指令 ...
- angularjs checkbox
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...