https://www.cnblogs.com/lzrabbit/archive/2012/03/23/2413180.html

https://blog.csdn.net/guyswj/article/details/81940188

一、引用log4net

二、在AssemblyInfo.cs中添加

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

三、新增配置文件log4net.config

<?xml version="1.0" encoding="utf-8"?>

<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net debug="true">
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径-->
<param name="File" value="bin\\logError\\" />
<!--是否向文件中追加日志-->
<param name="AppendToFile" value="true" />
<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
<param name="RollingStyle" value="Composite" />
<!--日志文件名格式为:2008-08-31.log-->
<param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
<!--日志保留天数-->
<param name="MaxSizeRollBackups" value="20" />
<!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:KB|MB|GB。不要使用小数,否则会一直写入当前日志-->
<param name="MaximumFileSize" value="1024KB" />
<!--日志文件名是否是固定不变的-->
<param name="StaticLogFileName" value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="记录时间:%date%newline线程ID:[%thread]%newline日志级别:%-5level%newline执行时间:%r毫秒%newline出错类:%logger%newline出错位置:%l%newline错误描述:%message%newline异常信息:%exception%newline"/>
</layout>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="bin\\logInfo\\" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd&quot;.log&quot;" />
<param name="MaxSizeRollBackups" value="20" />
<param name="MaximumFileSize" value="1024KB" />
<param name="StaticLogFileName" value="false" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %m %n" />
</layout>
</appender>
<logger name="logerror">
<level value="ALL" />
<appender-ref ref="ErrorAppender" />
</logger>
<logger name="loginfo">
<level value="ALL" />
<appender-ref ref="InfoAppender" />
</logger>
</log4net>
</configuration>

四、封装Log4Helper类

public class Log4Helper
{
public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); public static void Info(params System.Object[] info)
{
if (loginfo.IsInfoEnabled)
{
string msg = string.Empty;
msg = toString(info);
loginfo.Info(msg);
}
} public static void Error(Exception e, params System.Object[] info)
{
if (logerror.IsErrorEnabled)
{
string msg = string.Empty;
msg = toString(info);
logerror.Error(msg, e);
}
} /// <summary>
/// 接收不定参数转为字符串
/// </summary>
/// <param name="msg"></param>
/// <returns></returns>
public static string toString(params System.Object[] msg)
{
string result = string.Empty;
for (int i = 0; i < msg.Length; i++)
{
if (result.Length > 0)
{
result = result + " ";
}
result = result + msg[i];
}
return result;
}
}

五、调用示例

using ...;
Log4Helper .Info("appKey", "name", 123456789);
// Log4Helper .Error(e, "appKey", "name", 123456789);
Log4Helper .Error(new Exception("log4net测试致命信息"), "appKey", "proCode", 123456789);

log4net使用中loginfo.IsInfoEnabled=false问题解决方法

https://www.cnblogs.com/so-yi/p/9783887.html

Log4Net 用法记录的更多相关文章

  1. 【转】Log4net用法

    Log4net用法 http://www.cnblogs.com/hfliyi/archive/2012/05/20/2510783.html

  2. pt-kill 用法记录

    pt-kill 用法记录 # 参考资料Percona-Toolkit系列之pt-kill杀会话利器http://www.fordba.com/percona-toolkit-pt-kill.html ...

  3. LOG4NET用法(个人比较喜欢的用法)

    LOG4NET用法(个人比较喜欢的用法) http://fanrsh.cnblogs.com/archive/2006/06/08/420546.html

  4. CURL 用法记录

    CURL 用法记录 在工作中经常需要用到curl 命令,记录一下常用的场景 Send a POST Request with JSON Data curl -d '{"login" ...

  5. Log4net用法

    日记是我们在程序中经常用到的,故记于此 首先要下载Log4net.dll 官方网站:http://logging.apache.org/log4net/ vs里创建一个c#控制台程序,在App.con ...

  6. log4net日志记录

    这里是接着上一篇来优化的,上篇:ASP.NET MVC中错误日志信息记录 log4Net是用来记录日志的,可以将程序运行过程中的信息输出到一些地方(文件,数据库,EventLog等),日志就是程序的黑 ...

  7. Log4Net日志记录两种方式

     简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具.     log4net是Ap ...

  8. MVC4.0 利用HandleErrorAttribute和log4net实现记录异常日志功能

    1.MVC4.0中HandleErrorAttribte已经帮我们处理了异常问题,当我们新建一个非空的MVC项目时候,在FilterConfig中会发现这样的代码 public class Filte ...

  9. C#- 实用的Log4Net日志记录例子

    工作中也是要用到日志记录的,LOG4NET在这块做的不错,以后可以继续拿来用. 1.引用DLL 2.LOG4NET的配置文件 <?xml version="1.0" enco ...

随机推荐

  1. php八大设计模式之桥接模式

    一个抽象产生多种具体的实现方式,单纯的通过子类继承会有子类爆炸(过多的子类产生)的现象,系统需要它们之间进行动态耦合. 面向过程: <?php header("content-type ...

  2. WPS for Linux使用测评

    从去年有WPS for Linux的消息到现在,Linux 版的WPS Office在经过一系列的alpha版本之后终于迎来了Beta版本.笔者也是第一时间下载安装,WPS 文字.WPS 演示和WPS ...

  3. eBay起诉指控亚马逊利用非法手段挖走其卖家

    [摘要]eBay在诉状中称,亚马逊的代表滥用eBay的内部电子邮件系统联系卖家,这违反了市场政策. 腾讯科技讯 10月18日消息,据外媒报道,拍卖网站eBay对亚马逊提起诉讼,指控这家美国零售巨头利用 ...

  4. [APIO2009]会议中心(贪心)

    P3626 [APIO2009]会议中心 题目描述 Siruseri 政府建造了一座新的会议中心.许多公司对租借会议中心的会堂很 感兴趣,他们希望能够在里面举行会议. 对于一个客户而言,仅当在开会时能 ...

  5. WPF获得PNG图片外观Path数据

    原文:WPF获得PNG图片外观Path数据        WPF开发界面的时候,用的最多的就是自定义控件模板,开发人员需要根据UI的设计,做出符合要求的自定义控件.但是在一些特殊情况下,UI的设计可能 ...

  6. #ifdef__cplusplus

    百度知道: 一般用于将C++代码以标准C形式输出(即以C的形式被调用),这是因为C++虽然常被认为是C的超集,但是C++的编译器还是与C的编译器不同的.C中调用C++中的代码这样定义会是安全的. 一般 ...

  7. 一个工作快八年的老IT人士这几年沉浮总结的职场经验教训

    曾经我挺喜欢写博客,认为把心中的想法表达出来非常畅快.而且还能和网上非常多人沟通交流,如今我更喜欢把想法留在心中.博客非常久没更新了,刚才闲来无事.看看职场话题版块发现非常多人都挺迷茫的,所以我写一些 ...

  8. Linux LVM(逻辑卷管理)

    Lvm基本应用 什么是LVM? LVM 的全称是 Logical Volume Manager.中文为逻辑卷管理.它是Linux对磁盘分区的一种管理机制.它在传统的硬盘(或硬盘分区)和文件系统之间建立 ...

  9. n阶幻方问题

    转载自:http://blog.csdn.net/fengchaokobe/article/details/7437767 目录        第一节 n阶幻方问题       第二节 由n阶幻方引发 ...

  10. jquery计算两个日期的相差天数

    var days = daysBetween('2016-11-01','2016-11-02'); /** * 根据两个日期,判断相差天数 * @param sDate1 开始日期 如:2016-1 ...