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 ...
随机推荐
- 通过IIS共享文件夹来实现静态资源"本地分布式"部署
以下以文件型数据库(如sqlite)为例 楼主话:以下内容,若有不专业处,大胆喷,虚心求教. 起因:要进行一个项目的分布式部署,而这个项目所涉及的其中一个数据库为sqlite(经测试,同为文件型数据库 ...
- 10 ajax
Ajax准备知识:json 什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w ...
- html5兼容处理&sublime text3配置html5环境
1.为了兼容低版本的浏览器解析不了hmtl5标签,要在html文件中head内引入html5shiv.min.js文件 <!--[if lt IE 9]> <script src=& ...
- 宝石TD迷宫设计器
说起宝石TD,能追溯到我上高二那会,算来是2005年. 所谓一款TD类的魔兽RPG,宝石TD可以算是达到了TD迷宫的巅峰,三进三出更是别具匠心. 这个迷宫设计器是去年在焦作做的,只完成了迷宫设计功能, ...
- 【Binary Tree Right Side View 】cpp
题目: Given a binary tree, imagine yourself standing on the right side of it, return the values of the ...
- Bat 修改 xml 文件标签值
xml 文件如下: <ConfigurationData> <ReportsFolder>\Reports</ReportsFolder> <Helpfold ...
- install ironic-inspector
安装相应的包和组件 yum install openstack-ironic-inspector python-ironic-inspector-client -y 创建user openstack ...
- Java 复习计划
前言 打算下学期开学,也就是九月份,去找实习,现在还有三个月时间.(然而还在天天玩 Python..) 定个复习计划. 1. 基础 并发:Java并发编程实战 [ x ] SQL:MySQL,看看书, ...
- BETA0
目录 过去存在的问题 任务分工 规范 后端总结 卉卉 家灿 前端总结 绪佩 青元 恺琳 宇恒 丹丹 算法&API接口 家伟 鸿杰 一好 文档&博客撰写 政演 产品功能 我们已经坐了哪些 ...
- hdu1877进制转换
#include <stdio.h> int m; void Ck(int n) { if(n>=m) Ck(n/m); printf("%d",n%m); } ...