博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LOG4NET开源日志dll引用流程,在net3.5中已经实践ok
阅读量:5137 次
发布时间:2019-06-13

本文共 2542 字,大约阅读时间需要 8 分钟。

一,在app.config中配置

<?xml version="1.0"?>

<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="ERROR"/>
<appender-ref ref="RollingFileAppender"/>
</root>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志文件名开头-->
<file value="c:\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="2MB"/>
<!--日志格式-->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%t]%-5p %c - %m%n"/>
</layout>
</appender>
</log4net>
</configuration>

二,写一帮助类

public class LogHelper

{
//log4net日志专用
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
public static void SetConfig()
{
log4net.Config.XmlConfigurator.Configure();
}

public static void SetConfig(FileInfo configFile)

{
log4net.Config.XmlConfigurator.Configure(configFile);
}
/// <summary>
/// 普通的文件记录日志
/// </summary>
/// <param name="info"></param>
public static void WriteLog(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
}
/// <summary>
/// 错误日志
/// </summary>
/// <param name="info"></param>
/// <param name="se"></param>
public static void WriteLog(string info, Exception se)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(info, se);
}
}

 

三、下载LOG4NET 并引用,搞定

 

Console.WriteLine("Begin Run");

XmlConfigurator.Configure();
Type type = MethodBase.GetCurrentMethod().DeclaringType;
ILog m_log = LogManager.GetLogger(type);
m_log.Debug("这是一个Debug日志");
m_log.Info("这是一个Info日志");
m_log.Warn("这是一个Warn日志");
m_log.Error("这是一个Error日志");
m_log.Fatal("这是一个Fatal日志");
Console.WriteLine("End");
Console.ReadLine();

转载于:https://www.cnblogs.com/musexiaoluo/p/5063643.html

你可能感兴趣的文章
神器VNC
查看>>
状态保持login()和状态清除logout()
查看>>
基础建设者的悲歌
查看>>
第二周周五DailyReporting——PM(李忠)
查看>>
2018-2019-1 20165308 20165317 20165331 实验二 固件程序设计
查看>>
IOS 其他 - 如何让 app 支持32位和64位
查看>>
springboot中的日志配置
查看>>
idea,git的使用
查看>>
数据库范式(1NF 2NF 3NF BCNF)
查看>>
LeetCode-Merge k Sorted Lists-合并k个排序链表-自底向上归并排序+链表操作
查看>>
【LeetCode】21. Merge Two Sorted Lists
查看>>
JVM类加载机制(加载,初始化,类加载器和双亲委派机制)
查看>>
python 元组列表转为字典
查看>>
Java高级软件工程师面试题
查看>>
[转载]完全理解Python迭代对象、迭代器、生成器
查看>>
echarts的基本使用
查看>>
通过数据库上传下载附件
查看>>
soot的安安装与使用
查看>>
极简MarkDown教程(常用样式)
查看>>
【NOIP 模拟赛】区间第K大(kth) 乱搞
查看>>