C# 日志输出工具库—log4net 安装、配置及简单应用
1、下载和安装
注意每次安装只是安装到本项目中,换了另一个项目需要再次安装和配置。
我使用的是Visual Studio 2013 社区版,在tools中找到NuGet包管理。

搜索log4net并点击安装。

首先进行下载

点击确定安装

安装完成

当然,也可以用NuGet 的控制台来安装

百度搜索 net4log NuGet 或者直接打开下面链接:
NuGet Gallery | log4net 2.0.8 https://www.nuget.org/packages/log4net/2.0.8

然后在控制台输入安装命令:Install-Package log4net -Version 2.0.8

2、配置
以winForm项目为例,需要配置App.config和AssemblyInfo.cs

2.1 配置 App.config
原来的app.config中带了一个startup节点,把log4net的配置放到startup前面。
一共分两部分:configSections 和 log4net。

以下配置可做参考:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<!--站点日志配置部分-->
<log4net>
<root>
<!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录-->
<!--如果没有定义LEVEL的值,则缺省为DEBUG-->
<level value="ALL"/>
<appender-ref ref="RollingFileAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件名开头-->
<file value="Log\\TestLog4net.txt"/>
<!--多线程时采用最小锁定-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<!--日期的格式,每天换一个文件记录,如不设置则永远只记录一天的日志,需设置-->
<datePattern value="(yyyyMMdd)"/>
<!--是否追加到文件,默认为true,通常无需设置-->
<appendToFile value="true"/>
<!--变换的形式为日期,这种情况下每天只有一个日志-->
<!--此时MaxSizeRollBackups和maximumFileSize的节点设置没有意义-->
<!--<rollingStyle value="Date"/>-->
<!--变换的形式为日志大小-->
<!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
<RollingStyle value="Size"/>
<!--每天记录的日志文件个数,与maximumFileSize配合使用-->
<MaxSizeRollBackups value="10"/>
<!--每个日志文件的最大大小-->
<!--可用的单位:KB|MB|GB-->
<!--不要使用小数,否则会一直写入当前日志-->
<maximumFileSize value="100MB"/>
<!--日志格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%t]%p: %m%n"/>
</layout>
</appender>
</log4net>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
关于log4net配置详细的说明可参考下面文章:
非常完善的Log4net详细说明 - CSDN博客 https://blog.csdn.net/binnygoal/article/details/79557746
2.2 配置AssemblyInfo.cs
只需要添加一行代码:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)] //配置log4net
3、简单应用
首先在文件开头要using log4net;
然后在按钮控件的相应函数下添加loger的声明语句并调用,需要注意的是,这个logger对象是局部的,函数退出后无需手动销毁。不同函数内调用的logger会输出到同一个txt文件中,即bin\debug\Log\TestLog4net.txt。
private void button1_Click(object sender, EventArgs e)
{
ILog m_log = LogManager.GetLogger("log");
m_log.Debug("这是一个Debug日志" + 2);
m_log.Info("这是一个Info日志");
m_log.Warn("这是一个Warn日志");
m_log.Error("这是一个Error日志");
string temp1 = "helloworld";
m_log.Fatal(temp1);
}

本篇仅介绍简单应用,基本能够满足日常调试使用,高级功能后续再讨论。
4、参考链接
(1)C# log4net 的配置 - ???笨小孩 - 博客园 https://www.cnblogs.com/weixiaowei/p/8253228.html
(2)“log4net.Core.LoggerManager”的类型初始值设定项引发异常 - CSDN博客 https://blog.csdn.net/eatonfang/article/details/40622945
(3)非常完善的Log4net详细说明 - CSDN博客 https://blog.csdn.net/binnygoal/article/details/79557746
C# 日志输出工具库—log4net 安装、配置及简单应用的更多相关文章
- C#实现多级子目录Zip压缩解压实例 NET4.6下的UTC时间转换 [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 asp.net core异步进行新增操作并且需要判断某些字段是否重复的三种解决方案 .NET Core开发日志
C#实现多级子目录Zip压缩解压实例 参考 https://blog.csdn.net/lki_suidongdong/article/details/20942977 重点: 实现多级子目录的压缩, ...
- 可视化日志分析工具Gltail的安装与使用
可视化日志分析工具Gltail的安装与使用 GlTail.rb 是一款带有浓郁的 Geek 风格的可视化日志分析工具,它采用 Ruby 技术构建,并利用 OpenGL 图形技术进行渲染,呈现 ...
- Linux进程管理工具Supervisor的安装配置
目录 Linux进程管理工具Supervisor的安装配置 简介 安装Python包管理工具 安装Supervisor 配置 配置文件参数说明 配置进程管理 启动supervisor 控制进程 交互终 ...
- QC邮件转发工具Mail Direct安装配置手册
QC邮件转发工具Mail Direct安装配置手册 2010-06-11 10:00:56| 分类: 软件测试 | 标签: |举报 |字号大中小 订阅 QC邮件转发工具安装配置手册 由于公司没有独立的 ...
- asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- MySQL---6、可视化工具工具之SQLYog安装配置
一.安装文件包下载 https://pan.baidu.com/share/link?shareid=4149265923&uk=724365661&fid=2642450782 二. ...
- 开发工具IDEA环境安装配置
开发工具IDEA环境安装配置 该工具和eclipse类似,但是使用感受确实比eclipse好,越来越多人开始使用IDEA了. 下载地址如下 : https://www.jetbrains.com/id ...
- 【转】asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程
最近在学习张善友老师的NanoFabric 框架的时了解到Exceptionless : https://exceptionless.com/ !因此学习了一下这个开源框架!下面对Exceptionl ...
- [转帖]【rinetd】CentOS7.x上轻量级TCP转发工具rinetd的安装配置
[rinetd]CentOS7.x上轻量级TCP转发工具rinetd的安装配置 https://www.jianshu.com/p/2605d247b944 这一个写的更加全面了. 2019.07.0 ...
随机推荐
- 含有选择器的 bootstrap菜单
var menu = new BootstrapMenu('#jsmind_container jmnode:not(.root)', { actions: [{ name: '展开节点', onCl ...
- MyEclipse Server view报错解决方法
MyEclipse Server view报错解决方法 方法/步骤 启动MyEclipse,弹出一个框,报错. ---------------------------------------- ...
- /bin/sh^M:bad interpreter:
/bin/sh^M:bad interpreter: No such file or directory 这个错误发生在你在windows下编写文件上传到linux服务器去运行的时候. 错误原因:wi ...
- PHP字符串转实体函数
与HTML实体相关的函数 htmlspecialchars函数 描述:预定义的字符转换为HTML实体 语法:string htmlspecialchars(string $string [,int $ ...
- Java 数组拷贝方法 System.arraycopy
System类提供的数组拷贝方法: public static native void arraycopy(Object src, int srcPos, Object dest, int destP ...
- 消除flex-wrap之后每个item上下的距离
设置flex-wrap后,每个item上下都会有距离.更改父元素的高度,就可以删除这些距离. 更改后:
- oracle死锁解决方法
select SESS.sid, SESS.SERIAL#, LO.ORACLE_USERNAME, LO.OS_USER_NAME, AO.OBJECT_NAME, LO.LOCKED_M ...
- mmm和mmma的区别
m:编译整个安卓系统 makes from the top of the tree mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Andr ...
- VB6.0中WinSock控件属性和方法详解
原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...
- ckeditor粘贴上传图片
公司做的项目需要用到文本上传功能. 网上找了很久,大部分都有一些不成熟的问题,皇天不负有心人终于让我找到了一个成熟的项目. 接下来就看一下吧 1.打开工程: 对于文档的上传我们需要知道这个项目的逻辑是 ...
