前提引用Log4Net.dll文件

1、

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

上述代码写到AssemblyInfo.cs文件中

2、Global.asax文件中,Application_Start方法中添加对Log4Net的初始化代码如下:

string l4net = Server.MapPath("~/Web.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(l4net));

3、配置web.config文件,内容如下,部分配置说明,详见注释

     <!--该项配置必须放在configuration的第一个节点的位置上-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections> <log4net debug="true">
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="ERROR" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<!--日志文件名开头-->
<file value="..\\Logs\\Error\\" />
<!--是否追加到文件-->
<appendToFile value="true" />
<!--混合使用日期和文件大小变换日志文件名-->
<rollingStyle value="Composite" />
<!--最大变换数量-->
<maxSizeRollBackups value="10"/>
<!--最大文件大小-->
<maximumFileSize value="500KB"/>
<!--日期的格式 StaticLogFileName的值如果为true,
则当前日志文件(相对于历史日志文件而言)的文件名只取File参数。
如果为false,则文件名取File+DatePattern。-->
<staticLogFileName value="false" />
<!--下面格式 日志可以按照月份归档-->
<datePattern value="yyyy-MM/yyyy-MM-dd.'log'" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger : %message%newline" />
</layout>
</appender>
<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO" />
</filter>
<!--不符合info条件的日志,不做输出-->
<filter type="log4net.Filter.DenyAllFilter" />
<!--日志文件名开头-->
<file value="..\\Logs\\Info\\" />
<!--是否追加到文件-->
<appendToFile value="true" />
<!--混合使用日期和文件大小变换日志文件名-->
<rollingStyle value="Composite" />
<!--最大变换数量-->
<maxSizeRollBackups value="10"/>
<!--最大文件大小-->
<maximumFileSize value="500KB"/>
<!--日期的格式-->
<staticLogFileName value="false" />
<datePattern value="yyyy-MM-dd" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %logger : %message%newline" />
</layout>
</appender>
<root>
<level value="All" />
<appender-ref ref="ErrorAppender" />
<appender-ref ref="InfoAppender" />
</root>
</log4net>

4、添加LogHelper.cs文件

  public class LogHelper
{
public static void debug(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("LogOut");
if (log.IsDebugEnabled)
{
log.Debug(message);
}
log = null;
} public static void error(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("LogOut");
if (log.IsErrorEnabled)
{
log.Error(message);
}
log = null;
} public static void fatal(string message)
{ log4net.ILog log = log4net.LogManager.GetLogger("LogOut");
if (log.IsFatalEnabled)
{
log.Fatal(message);
}
log = null;
}
public static void info(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("LogOut");
if (log.IsInfoEnabled)
{
log.Info(message);
}
log = null;
} public static void warn(string message)
{
log4net.ILog log = log4net.LogManager.GetLogger("LogOut");
if (log.IsWarnEnabled)
{
log.Warn(message);
}
log = null;
}
}

至此,就可以开启你的Log4net之旅

Log4net 集成到MVC+EF框架的更多相关文章

  1. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这 ...

  2. ASP.NET MVC+EF框架+EasyUI实现权限管理(附源码)

    前言:时间很快,已经快到春节的时间了,这段时间由于生病,博客基本没更新,所以今天写一下我们做的一个项目吧,是对权限的基本操作的操作,代码也就不怎么说了,直接上传源码和图片展示,下面我们直接进入主题介绍 ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(24)-权限组的设计和实现(附源码)(终结)

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  4. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(23)-设置角色遗留问题和为权限设置角色以及EasyUI Tabs的使用

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  5. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色

    ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    ...

  6. ASP.NET MVC+EF框架+EasyUI实现权限管理系列

    http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开 ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(21)-用户角色权限基本的实现说明     ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框 ...

  8. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(20)-多条件模糊查询和回收站还原的实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架 ...

  9. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(19)-用户信息的修改和浏览  ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    ...

随机推荐

  1. 监控持有sql和被堵塞的sql

    Session 1: mysql> start transaction; Query OK, 0 rows affected (0.00 sec) mysql> update Client ...

  2. linxu命令小结

    1.设置root用户的密码 sudo passwd root 2.切换用户 su username su:switch user的简写 3.切换到超级用户 sudo su sudo (super us ...

  3. bzoj1835

    最近状态太差,先补补结题报告吧这是一道好题设f[i,j]表示到第j个位置建了i个基站且第j个位置建了基站的最小花费不难得到f[i,j]=min(f[i-1,k]+cost[k+1,j])+c[j];首 ...

  4. 【pm2】

    告别node-forever,拥抱PM2 pm2及forever模块是目前较常用的nodejs进程守护模块,前者更常用些.功能也更强大(提供负载).其原理主要是pm2开启一个主进程,另行再开子进程运行 ...

  5. 迷宫城堡--HDOJ 1269(Tarjan)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  6. HDU-2952 Counting Sheep (DFS)

    Counting Sheep Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tota ...

  7. 网页局部刷新的办法。javascript+frame 或者ajax原理

    <frame>标签 + javascriptajax (DWR \ jquery \ extjs \ vs 下的ScriptManager和UpdatePanel控件)

  8. rsync学习与实践

    1.介绍:开源的.快速的.多功能的可以实现全量和增量备份的工具:还能实现文件的删除等:可以根据文件大小的变化和修改时间的变化来同步数据(快速) 2.描述:支持特殊文件的拷贝,例如设备文件,链接等:可以 ...

  9. js模板引擎实现原理

    将html模板放入script标签中 // "> // ]]> 使用javascript开始解析模板 // )[^\t]*)'/g,"$1\r"). repl ...

  10. 利用UI_APPEARANCE统一设置UITabBarItem样式

    -(void)setupTabBarItemAttributes{ //attributes NSMutableDictionary *selectedAttrs= [NSMutableDiction ...