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 ...
随机推荐
- C# 中的正则简单例子
public static void Main() { Regex rgx = new Regex(@"[S|s]et-[C|c]ookie: (?<cookieName>\w+ ...
- JavaSE——javac、javap、jad
一.javac 用法:javac <选项> <源文件> 其中,可能的选项包括: -help 帮助信息 -g ...
- java练习——接口与继承
父类与子类的构造方法: 如果父类中有一个默认无参的构造方法,那么子类的构造方法中会自动进行调用.如果父类有自己的构造方法,且这时父类没有默认无参的构造方法,那么在子类的构造方法中,必须要调用父类的某个 ...
- erlang节点互通查看
在局域网内部,一般用短节点名来完成短节点的全联通. 全联通的前提之一是cookie要相同,cookie记录在一个文件中. 对于同一个物理机上的两个erlang节点,不用其他配置就可以全 ...
- 关于ADB push 出现failed to copy 'D:\file.xtxt' to '/system/temp/' : Read-only file system 的报错信息解决办法
首先使用USB连接电脑与小机,然后安装adb相应的驱动,这是第一步,也是必须要做的. 进入doc系统后,敲入adb shell 可以进入linux命令行状态,说明adb可以使用了. 回到标题,我们现 ...
- python 读取数据库中文内容显示一堆问号
需要在连接数据库时 设置编码格式 def select_db(self,db_name): self.conn = MySQLdb.connect( host = self.ip, port = se ...
- 1099 Build A Binary Search Tree (30 分)(查找二叉树)
还是中序遍历建树 #include<bits/stdc++.h> using namespace std; ; struct node { int data; int L,R; }s[N] ...
- TOJ 3046: 招商银行网络系统
3046: 招商银行网络系统 Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit: 12 ...
- JSP/Servlet Web 学习笔记 DayFour
Servlet概述 Servelt是使用Java Servlet应用程序接口及相关类和方法的Java程序. Servlet是用Java编写的Server端程序,它与协议和平台无关.Servlet运行于 ...
- 使用Cookie保存用户和密码然后自动登录
login.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...