C#|C# log4net日志库的用法小结
目录
- 一、简述
- 二、下载log4net
- 三、添加log4net.dll引用
- 四、添加日志配置log.config
- 五、在AssemblyInfo.cs文件中添加log4net.dll相关参数
- 六、测试例子
- 6.1 测试代码
- 6.2 效果
- 七、附
- 7.1 更多日志配置
- 7.2 日志格式
- 7.3 日志配置
一、简述 记--log4net日志开源库的简单使用:控制日志文件大小,日志文件个数,滚动式覆盖,自由控制日志打印等级
例子打包:外链:https://wwa.lanzoui.com/b0c9qvfqf 密码:67y7
二、下载log4net 直接使用log4net源码或直接使用log4net源码编译对应的dll或直接使用log4net.dll
下载地址:http://logging.apache.org/log4net/download_log4net.html
文章图片
例子直接使用其中4.5的dll。(请根据当前环境的.net framework框架版本进行选择,请看右键项目--》属性--》应用程序--》目标框架)
文章图片
三、添加log4net.dll引用
文章图片
四、添加日志配置log.config
文章图片
编辑log.config内容如下:
【C#|C# log4net日志库的用法小结】将配置同步更新到exe输出路径
文章图片
五、在AssemblyInfo.cs文件中添加log4net.dll相关参数 在AssemblyInfo.cs文件末尾添加一行(其中的log.config就是步骤四添加的配置文件)
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log.config", Watch = true)]
文章图片
六、测试例子
6.1 测试代码
namespace Log4netTest{public partial class Form1 : Form{//Mylog1对应log.config种的一个logger名称public static readonly log4net.ILog mLogger = log4net.LogManager.GetLogger("Mylog1"); public Form1(){InitializeComponent(); } private void Form1_Load(object sender, EventArgs e){mLogger.Error("APP Start"); mLogger.Debug("logDebug"); mLogger.Info("logInfo"); mLogger.Warn("logWarn"); mLogger.Error("logError"); mLogger.Error(this); }}
注:代码种的Mylog1对应log.config中的一个logger名称
6.2 效果
控制日志文件大小,日志文件个数,滚动式覆盖,控制日志打印等级为WARN。
文章图片
文章图片
七、附
7.1 更多日志配置
http://logging.apache.org/log4net/release/manual/configuration.html
文章图片
7.2 日志格式
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,例如:
%f(file):输出语句所在的文件名。
%l(line):输出语句所在的行号。
%数字:表示该项的最小长度,如果不够,则用空格填充,如“%-5level”表示level的最小宽度是5个字符,如果实际长度不够5个字符则以空格填充
7.3 日志配置
appender、logger标签可多个,不是一一对应关系的
文章图片
到此这篇关于C# log4net日志库的简单使用的文章就介绍到这了,更多相关C# log4net使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 太平之莲
- 日志打卡
- thinkphp|thinkphp 3.2 如何调用第三方类库
- 我正在参加安特思库共读一本书干法。
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 现役联盟前十怎么排(詹姆斯榜首无悬念!杜兰特库里位置不确定!)
- Android7.0|Android7.0 第三方应用无法访问私有库
- 数据库设计与优化
- 数据库总结语句