项目中利用Log4net记录日志还是比较方便的,我也按照网上的一些操作进行了实践

参考文章 1:Log4Net使用指南2:LOG4NET日志配置

组件下载 log4net组件下载

1:设置配置文件,这里我是自己新建的xml,网站下log4net.config

这里面有2个类别的log,error和info,配置的路径不一样

<?xml version="1.0"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<logger name="logerror">
<level value="ERROR" />
<appender-ref ref="ErrorAppender" />
</logger>
<logger name="loginfo">
<level value="INFO" />
<appender-ref ref="InfoAppender" />
</logger>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="log/ErrorLog.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="" />
<param name="MaximumFileSize" value="1MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
</layout>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="log/InfoLog.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="" />
<param name="MaximumFileSize" value="1MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%-5p %d [%c] %m%n" />
</layout>
</appender>
</log4net> </configuration>

2:设置帮助类LogHelper

这里的logger name和配置文件的名称对应

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO; namespace xsFramework.function.Log4Net
{
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);
}
}
}
}

3:在程序启动是进行开启和配置,也可以不设置路径,但是要在当前项目的配置文件中,并且是在最上面

 protected void Application_Start(object sender, EventArgs e)
{
FileInfo file = new FileInfo(Server.MapPath("~/log4net.config"));
LogHelper.SetConfig(file);
}

4:使用过程

LogHelper.WriteLog("提示信息");
LogHelper.WriteLog("錯誤信息", new Exception());

这里就可以开始记录了,也可以设置多个类别,但是我感觉简单的网站就记录提示信息和错误信息即可...

最新文章

  1. IOS网络第四天 -网络文件上传(0923略)
  2. mac下使用sencha cmd+extjs6
  3. python md5
  4. js 获取月份 格式yy-mm-dd
  5. 使用Spring标签库
  6. matlab笔记(1) 元胞结构cell2mat和num2cell
  7. linux压缩、解压缩和归档工具
  8. How to proof Pi
  9. JAVA按数字,字母排序,但不包括大小写和汉字排序
  10. express中的路径区别
  11. uiview animation 卡一下
  12. VirtualBox虚拟机安装ubuntu系统(图文详解)
  13. Logback学习笔记
  14. 基本控件文档-UISwitch属性---iOS-Apple苹果官方文档翻译
  15. ubuntu17安装以及相关问题的解决
  16. 洛谷P2709 小B的询问
  17. 富文本 文字图片点击,(TextView)
  18. App知识点汇总
  19. Android多媒体框架总结(1) - 利用MediaMuxer合成音视频数据流程分析
  20. Tinkoff Internship Warmup Round 2018 and Codeforces Round #475 (Div. 2)

热门文章

  1. jQuery监控动画执行完毕事件
  2. 《Cracking the Coding Interview》——第18章:难题——题目13
  3. Python代码书写规范
  4. nodejs下载图片到本地,根据百度图片查找相应的图片,通过nodejs保存到本地文件夹
  5. shell之一些测试脚本
  6. 爬虫:Scrapy9 - Feed exports
  7. iis如何处理并发请求
  8. PHPEXCEL 设置被导出的表格样式代码
  9. SQL Server 重新编译存储过程的方式有三种
  10. 树(tree)