C# Log4Net使用示例
using log4net;
using log4net.Config;
using System;
using System.IO; namespace Three.Logging
{
/// <summary>
/// 基于log4net的日志工具,需要拷贝Log4Net.config到要使用日志的程序目录,具体配置查阅log4net帮助,此处不赘述
/// </summary>
public static class Logger
{
private static readonly ILog logdebug = LogManager.GetLogger("logdebug");
private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
private static readonly ILog logerror = LogManager.GetLogger("logerror"); static Logger()
{
var path = AppDomain.CurrentDomain.BaseDirectory + @"\Log4net.config";
XmlConfigurator.ConfigureAndWatch(new FileInfo(path));
} /// <summary>
/// 写DEBUG日志
/// </summary>
/// <param name="debug">日志内容</param>
public static void Debug(string debug)
{
if (logdebug.IsDebugEnabled)
{
logdebug.Debug(debug);
}
} /// <summary>
/// 写DEBUG日志
/// </summary>
/// <param name="debug">日志内容</param>
/// <param name="ex">将异常信息也写入日志</param>
public static void Debug(string debug, Exception ex)
{
if (logdebug.IsDebugEnabled)
{
if (ex == null)
{
logdebug.Debug(debug);
}
else
{
logdebug.Debug(debug, ex);
}
}
} /// <summary>
/// 写Info信息到日志
/// </summary>
/// <param name="info">日志内容</param>
public static void Info(string info)
{
if (loginfo.IsInfoEnabled)
{
loginfo.Info(info);
}
} /// <summary>
/// 写error信息到日志
/// </summary>
/// <param name="error">日志内容</param>
public static void Error(string error)
{
if (logerror.IsErrorEnabled)
{
logerror.Error(error);
}
} /// <summary>
/// 写error信息到日志
/// </summary>
/// <param name="error">日志内容</param>
/// <param name="ex">将异常信息也写入日志</param>
public static void Error(string error, Exception ex)
{
if (logerror.IsErrorEnabled)
{
if (ex == null)
{
logerror.Error(error);
}
else
{
logerror.Error(error, ex);
}
}
} private static string FormatErrorMsg(Exception ex)
{
var errorMsg = string.Format("【异常类型】:{0} <br>【异常信息】:{1} <br>【堆栈调用】:{2}",
new object[] {ex.GetType().Name, ex.Message, ex.StackTrace});
errorMsg = errorMsg.Replace("\r\n", "<br>");
errorMsg = errorMsg.Replace("位置", "<strong style='color:red;'>位置</strong><br>");
return errorMsg;
}
}
}
C# Log4Net使用示例的更多相关文章
- log4net简单配置内容
首先将log4net.dll下载来,添加到项目引用中: 在assembly文件最后面加(其实没关系的): [assembly: log4net.Config.XmlConfigurator(Confi ...
- 【记录】.net 通用log4net日志配置
asp.net mvc 1.引入log4netNuGet包. 2.修改Global.asax下的Application_Start方法.加入log4net.Config.XmlConfigurator ...
- Log4net(二)-——关联配置文件的方式总结
关联配置文件的方式总结 以控制台应用程序为例,在.net mvc项目中默认的配置位置为Web.config,其他的配置都一样 1.配置在AppConfig中 在控制台应用程序中,如果我们把Log4ne ...
- Log4net系列二:Log4net邮件日志以及授权码
Log4net邮件发送 上篇文章我们主要介绍Log4net生成文本格式,本篇文章主要配置邮箱发送.关于项目的引用,搭建我们就不在描述,如果不太清楚,请看上篇文章, 老规矩,我们现在配置文件中添加一个a ...
- Log4Net 配置日志按日期和日志级别分类写入
配置效果图: 配置代码: <?xml version="1.0" encoding="utf-8" ?> <log4net> <! ...
- 实战项目:通过当当API将订单抓取到SAP(二)
上一篇博客,我们引用了log4net 这个.这里简单介绍下,为什么引用这个. log4net是记录程序日志信息的,是一个功能著名的开源日志记录组件.利用log4net可以方便地将日志信息记录到文件.控 ...
- Topshelf 一个简化Windows服务开发的宿主服务框架
Topshelf是 基于.net框架开发的宿主服务框架.该框架简化了服务的创建,开发人员只需要使用 Topshelf编写一个控制台程序,就能安装为Windows服务.之所以这样原因非常简单:调试一个控 ...
- log4net示例2-日志输入存入Access(转)
需求:基于log4net组建,创建Console程序将日志输出到Access数据库. 具体实施: (1)创建控制台程序. (2)控制台程序中,添加一个纯文本文件,文件命名为“log-Access.se ...
- Log4Net日志的简单使用示例
前言 源码参考示例地址 http://www.51aspx.com/Code/log4netusedemo/2707 本例博客园源码 https://files.cnblogs.com/files/m ...
随机推荐
- 内置函数--sorted,filter,map
sorted() 排序函数. 语法: sorted(Iterable, key=None, reverse=False) Iterable: 可迭代对象; key: 排序规则(排序函数); reve ...
- ThinkPad 触控板双指不可以滑动
我一直在想为什么,今天我想禁用触摸板的时候,我找到原因了. 是因为没有装驱动. http://think.lenovo.com.cn/support/driver/newdriversdownlist ...
- 容器技术的落地还要依靠SDN
容器能够实现新应用程序的快速部署,代表着目前IT开发社区的最热门趋势之一.然而,想要实现容器部署生产环境,IT人员还需要使用SDN技术,在分布式微应用程序之间实现可扩展.可管理且安全的通信. 什么是容 ...
- 如何在Apache中使用PHP处理PHP文件
一.将PHP预处理器作为Apache的模块(插件) Apache软件自身的功能都是基于模块化管理的. 将PHP预处理器作为Apache的一个模块即可. 在apache/conf/httpd.conf的 ...
- 剑指Offer - 九度1512 - 用两个栈实现队列
剑指Offer - 九度1512 - 用两个栈实现队列2013-11-29 21:23 题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作.队列中的元素为int类型. 输入: 每个输入 ...
- 《Cracking the Coding Interview》——第12章:测试——题目5·
2014-04-25 00:41 题目:怎么测试一支笔?(Pen?您老说的是钢笔?) 解法:这种简约而不简单的题目,实在是面试官最喜欢,面试者最头疼的类型了.面试官可以只花三秒,以一种灰常高贵冷艳的语 ...
- Linux认知之旅【03 进一步了解Linux命令】!
再仔细的研究一下命令,你会进一步提高提高对Linux的操作! 看完本文有空http://man.linuxde.net/转转!这是个好网站! 一.命令是什么? 计算机术语[command]:形容在对计 ...
- LDA学习笔记
线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法.其思想非常朴素,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近,异类的样例的投 ...
- 网络--OSI七层模型详解
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输 . 完成中继功能的节点通常称为中继系统.在OSI七层模型中,处于 ...
- BATCH梯度下降,单变量线性回归