工具类

using System;
using System.Diagnostics;
using log4net; namespace Trumgu_BI_PF.Util
{
public class Log4NetHelper
{
public static void Debug(object message)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message);
} public static void Debug(object message, Exception ex)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message, ex);
} public static void Error(object message)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Error(message);
} public static void Error(object message, Exception exception)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Error(message, exception);
} private static string GetCurrentMethodFullName()
{
try
{
StackFrame frame;
string str2;
int num = ;
StackTrace trace = new StackTrace();
int length = trace.GetFrames().Length;
do
{
frame = trace.GetFrame(num++);
str2 = frame.GetMethod().DeclaringType.ToString();
}
while (str2.EndsWith("Exception") && (num < length));
string name = frame.GetMethod().Name;
return (str2 + "." + name);
}
catch
{
return null;
}
} public static void Info(object message)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Info(message);
} public static void Info(object message, Exception ex)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Info(message, ex);
} public static void Warn(object message)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message);
} public static void Warn(object message, Exception ex)
{
LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message, ex);
}
}
}

使用方法

Util.Log4NetHelper.Info("-----------------执行统计脚本并群发邮件服务 Start--------------------");
Util.Log4NetHelper.Error("NPOI生成Excle发成异常!", ex);

Log4Net帮助类的更多相关文章

  1. 简单实用的Log4net帮助类

    一直使用Log4net,进行日志记录.今天把实用的帮助类,在博客园进行一下公布 首先,添加一个log4net配置文件 <?xml version="1.0"?> < ...

  2. 【C#公共帮助类】 Log4net 帮助类

    首先,我们要在Common类库中引用log4net.dll ExtLogImpl.cs using System; using System.Collections.Generic; using Sy ...

  3. Log4net入门(帮助类篇)

    在前几篇Log4net入门文件的讲述过程中,我们在使用log4net的类中都要编写如下一行代码: private static log4net.ILog log = log4net.LogManage ...

  4. Log4Net 使用及组合公共类

    好记性不如烂笔头,这次是由衷的感受到了! log4net 是一个很好用的日志记录工具,引用入项目中,如何查看项目内部运行情况,如何快速定位异常信息,好的日志记录能帮很大的忙: log4net 很好用, ...

  5. log4net应用

    1,配置文件 如果放在Web.config文件中,要放在根节点<configuration>下. 但一般为了方便配置文件的修改,可以将配置文件独立于Web.config,而单独放在一个文本 ...

  6. Apache log4net™ 手册——概述【翻译】

    原文地址 本文内容 概述 框架 日志(Loggers)和追加器(Appenders) 日志层次(Logger hierarchy) 追加器(Appenders) 筛选(Filters) 布局(Layo ...

  7. [转载]Log4net学习笔记

    Log4net 学习笔记: 主要是根据apache站点整理的: 原文链接:http://logging.apache.org/log4net/release/sdk/ http://logging.a ...

  8. Log4net 配置注意事项

    1. 首先引入Log4net程序集 2.修改webconfig配置文件 在 configuration 节点下面添加如下节点 <configSections> <section na ...

  9. log4net使用具体解释

    说明:本程序演示怎样利用log4net记录程序日志信息.log4net是一个功能著名的开源日志记录组件.利用log4net能够方便地将日志信息记录到文件.控制台.Windows事件日志和数据库(包含M ...

随机推荐

  1. 华为交换机配置NTP服务端/客户端

    作者:邓聪聪 配置设备作为NTP服务器 单播客户端/服务器模式 # 配置NTP主时钟,层数为2. <HUAWEI> system-view [HUAWEI] ntp refclock-ma ...

  2. requests库入门10-超时,错误与异常

    在实际发布到生产上的接口测试代码,都会加上超时的设置,当服务器超过一定时间没有响应,会报出超时异常.因为requests会自动等待响应.如果不加上超时的设置,可能脚本会一直卡在那里.. 超时设置在请求 ...

  3. requests库入门08-delete请求

    还是使用GitHub的接口,之前我们新增了邮箱,这次使用delete请求来删除邮箱,接口文档地址 import requests test_url = 'https://api.github.com' ...

  4. arx对正在操作的文件进行保存

    //对正在操作的文件进行保存 STDMETHODIMP CTHDatabase::Save(void) { // TODO: 在此添加实现代码 Acad::ErrorStatus es ; try{ ...

  5. 搭建Unity安卓开发环境

    原文见 https://blog.csdn.net/chenggong2dm/article/details/20654075 tiny教程 https://docs.unity3d.com/Pack ...

  6. linux系统设置静态IP,DHCP网络服务,DNS

    一.设置静态IP及DHCP网络服务 kk@yuanqiangfei:~$ cat /etc/network/interfaces # This file describes the network i ...

  7. codeforces 955F Cowmpany Cowmpensation 树上DP+多项式插值

    给一个树,每个点的权值为正整数,且不能超过自己的父节点,根节点的最高权值不超过D 问一共有多少种分配工资的方式? 题解: A immediate simple observation is that ...

  8. 手动注册 Omron SYSMAC OPC Server 2

    使用如下注册表操作实现 Omron SYSMAC OPC Server 2 的注册,包括COM组件和ProgID. 注意,手动注册适用于在win10等不兼容老版本程序的正常使用的情况,此方法一般在单机 ...

  9. QTableWidget

    1.QTableWidget继承自QTableView. QSqlTableModel能与QTableView绑定,但不能于QTableWidget绑定.​ QTableWidget是QTableVi ...

  10. Fragment与Acitvity通信

    Fragment与Activity通信的方式如下: 一.通过初始化函数提供 1.在动态添加Fragment的过程中,我们在Activity中通过Fragment.setArguments()的方法为F ...