使用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=" ...
随机推荐
- [POJ268] Prime Distance(素数筛)
/* * 二次筛素数 * POJ268----Prime Distance(数论,素数筛) */ #include<cstdio> #include<vector> using ...
- 同事在使用shiro后遇到的异常
一切配置按照demo来的,给他讲了一遍捋顺了.然后之前他做的demohim按照他网络摘抄的shiro博客看的. 然后注册了,正常,登录,提示密码不匹配. 问题出在注册的密码加密次数是2, 而shiro ...
- Learning-Python【8】:Python字符编码
1.内存和硬盘都是用来存储的 内存:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编写的 ...
- Perl新接触的小命令
0,glob()函数 my @infile = glob("$indir/*.txt.gz"); #获得指定路径下的文件名,并形成列表,如果$indir为空,则自动匹配当前目录下 ...
- Qt 中用QProcess调用cmd命令
项目做到一定阶段,常常须要在原来的project上调用外部程序. Qt为此提供了QProcess类,QProcess可用于完毕启动外部程序,并与之交互通信. 基本用法: QProcess p(0); ...
- 【Ruby】【环境搭建】macOS Sierra 10.12.6 + Xcode 8 + gpg 2.2.8 + rvm 1.29.3 + Ruby 2.4.0 + RubyMine 2018.1.4
按出场顺序: macOS Sierra 10.12.6 + Xcode 8 + gpg 2.2.8 + rvm 1.29.3 + Ruby 2.4.0 + RubyMine 2018.1.4 ...
- android外包公司—技术分享:Android开发环境搭建(长年承接安卓应用外包)
Android开发环境搭建 1.安装JDK 1.1.由于Android是基于java语言的.所以在开发过程中,首先要做的事儿就是安装JDK. 1.2.JDK的安装步骤: 设置环境变量:我的电脑---- ...
- 【BZOJ】 4810: [Ynoi2017]由乃的玉米田
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4810 思路还是比较显然,第一反应应该就是莫队. 考虑怎么维护三个询问,想到了要维护每一个数 ...
- python tar 打包
import os import tarfile def make_targz_one_by_one(output_filename, source_dir): tar = tarfile.open( ...
- [JSON] 前后台如何通过$.ajax()传输JSON数据
说明:slesecByPriomaryKey是通过empno来获得Emp对象. 前台1: $(function() { $.ajax({ type : "POST", url : ...