一、先下载log4net.dll、Newtonsoft.Json.dll和配置log4net.config

相关DLL下载地址:log4net相关dll

下载地址:http://logging.apache.org/log4net/download_log4net.cgi,把下载的文件解压,找到log4net.dll文件。

我这里需要配置log4net.config文件,具体配置如下:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="rollingFile" />
</root>
<!--<logger name="testApp.Logging">
<level value="DEBUG" />
<appender-ref ref="rollingFile" />
</logger>-->
<appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net" >
<param name="File" type="" value="logger/" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" />
<param name="StaticLogFileName" value="false" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
<param name="Header" value=" ----------------------header-------------------------- " />
<param name="Footer" value=" ----------------------footer-------------------------- " />
</layout>
</appender>
</log4net>
</configuration>

另外,需要在AssemblyInfo.cs下加上以下代码

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

如下图:

二、 新建一个类库,命名为Common,先引用log4net.dll、Newtonsoft.Json.dll 在这个类库下面新建错误日志类ErrorLog.cs,,然后生成。主要代码如下:

namespace Common
{
/// <summary>
/// 密封错误日志类,不能被继承
/// </summary>
public sealed class ErrorLog
{ /// <summary>
/// 导入操作日志到文件中
/// </summary>
/// <param name="moduleName">模块名称</param>
/// <param name="message">错误文本信息</param>
/// <param name="ex">异常</param>
public static void Write(string moduleName, string message, Exception ex)
{
log4net.ILog log = log4net.LogManager.GetLogger(moduleName);
if (ex != null)
{
log.Error(message+";"+ex.Message,ex);
}
if (!string.IsNullOrEmpty(message))
{
log.Info(message);
}
log = null;
} /// <summary>
/// 导入操作日志到文件中
/// </summary>
/// <param name="moduleName">模块名称</param>
/// <param name="obj">对象</param>
/// <param name="ex">异常</param>
public static void Write(string moduleName, object obj, Exception ex)
{
if (ex == null)
{
ex = new Exception();
} string message = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
log4net.ILog log = log4net.LogManager.GetLogger(moduleName); if (ex != null)
{
log.Error(message + ";" + ex.Message, ex);
} if (!string.IsNullOrEmpty(message))
{
log.Info(message);
}
log = null;
} /// <summary>
/// 写入操作日志到文件中
/// </summary>
/// <param name="moduleName"></param>
/// <param name="ex"></param>
public static void Write(string moduleName, Exception ex)
{
Write(moduleName, moduleName, ex);
} public static void Write(string message)
{
Write(String.Empty, message, null);
}
}
}

三、新建WebMVC项目。需要先引用前面的Common.dll,还要把前面log4net.config拷贝到WebMVC目录下。

这里引用,只要common改变了,WebMVC引用那边会及时更新,具体如下图:

在HomeController写,测试代码

ErrorLog.Write("WebMVC:" + DateTime.Now);如下图:

四、按F5运行代码之后,WebMVC目录下会产生logger文件下,logger目录下会生成以日期命名格式的记事本文件“20150524.log”,具体如下图:

CSharp使用log4net记录日志的更多相关文章

  1. [转]C#使用Log4Net记录日志

    第一步:下载Log4Net 下载地址:http://logging.apache.org/log4net/download_log4net.cgi 把下载的  log4net-1.2.11-bin-n ...

  2. C# 使用 log4net 记录日志

    Ø  前言 在一般的开发应用中,都会涉及到日志记录,用于排查错误 或 记录程序运行时的日志信息.log4net 库是 Apache log4j 框架在 Microsoft .NET 平台的实现,是一个 ...

  3. ASP.NET Core使用log4net记录日志

    .NET常用的日志组件有NLog.Log4net等,.NET CORE下微软也自带了日志组件,到目前为止还没用过,而我本人常用的是log4net,下面简单讲讲.NET CORE下怎么使用log4net ...

  4. 用log4net记录日志信息

    在.net中用log4net记录日志信息,已经是很平常的事情了. log4net下载:http://logging.apache.org/log4net/download_log4net.cgi 百度 ...

  5. 将WebService部署到 SharePoint 2010 gac 缓存中,并用Log4Net记录日志到数据库

    最近做了一个sharePoint项目,需要实现的功能是,第三方网站访问我们sharePoint中的数据,通过Webservice方式实现文件的上传和下载. 于是代码工作完成了之后,本地调试没什么问题, ...

  6. Windows服务使用log4net记录日志

    该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇. 比较流行的日志组件有以下四种,Topshelf都有相应的组件提供 log4net NL ...

  7. 使用Log4net记录日志(非常重要)

    使用Log4net记录日志   首先说说为什么要进行日志记录.在一个完整的程序系统里面,日志系统是一个非常重要的功能组成部分.它可以记录下系统所产生的所有行为,并按照某种规范表达出来.我们可以使用日志 ...

  8. Log4Net记录日志的使用

    Log4net 基本样式: <log4net> <appender name="LogFileAppender" type="log4net.Appen ...

  9. C#使用Log4Net记录日志

    当你在开发程序的时候, 调试(debugging)和日志(logging)都是非常重要的工作.在应用中使用日志主要有三个目的 l  监视代码中的变量的变化情况,把数据周期性地记录到文件中供其它应用进行 ...

随机推荐

  1. 让所有浏览器包括IE6即支持最大宽度又支持最小宽度。

    让所有浏览器包括IE6即支持最大宽度又支持最小宽度. _height  _width:针对ie6 css hack .yangshi{max-width:620px;min-width:1px;_wi ...

  2. 英文VS2010安装中文版MSDN文档方法

    英文VS2010安装中文版MSDN文档方法 2010-06-01 11:52 by 李永京, 51409 阅读, 50 评论, 收藏, 编辑 在2010年4月12号发布Visual Studio 20 ...

  3. Java 反射 ParameterizedType 参数化类型

    /***************************************************************************************** * Java 反射 ...

  4. js取配置文件内容

    使用 jQuery.i18n.properties 实现 Web 前端的国际化 http://www.ibm.com/developerworks/cn/web/1305_hezj_jqueryi18 ...

  5. linux监控nmon和analyser的使用

    测试压力的时候使用linux一个简单的监控工具nmon,不仅可以实时监测,也可以生成文件以图标样式展现,小巧实用 安装nmon nmon实际上是个tarball直接解压到所要放置的目录,然后直接运行就 ...

  6. Bash Shell字符串操作小结

    装载自:http://my.oschina.net/aiguozhe/blog/41557 1. 取长度 str="abcd" expr length $str # 4 echo ...

  7. 搭建 hexo,在执行 hexo deploy 后,出现 error deployer not found:github 的错误

    hexo 更新到3.0之后,deploy的type 的github需要改成git 改了之后执行npm install hexo-deployer-git --save 然后再部署试试 官网说明: ht ...

  8. 网络延迟查看器 Network latency view 1.4

    这是个用于查看网络延迟/ip/主机/地区的工具,内外网通吃,外网可通过这里下载csv以显示国家(地区) 可以自己决定winpcap或者原始套接字进行捕捉 如果只扫描内网推荐angryip 这是款发布在 ...

  9. abbyy cup a

    link: http://codeforces.com/contest/331/problem/A2 /* ID: zypz4571 LANG: C++ TASK: abby_a.cpp */ #in ...

  10. spark新能优化之多次使用RDD的持久化或checkPoint

    如果程序中,对某一个RDD,基于它进行了多次transformation或者action操作.那么就非常有必要对其进行持久化操作,以避免对一个RDD反复进行计算. 此外,如果要保证在RDD的持久化数据 ...