using log4net;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web; namespace TryLittle.Helper
{
public static class Log
{
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);
} }
}

注意:如果要在项目中使用这个类一定先应用log4net

基于log4net的帮助类Log的更多相关文章

  1. 基于Log4Net本地日志服务简单实现

    背景 项目开发中,我们或多或少会使用诸如NLog,Log4Net,Kafka+ELK等等日志套件: 基于关注点分离原则,业务开发的时候不应该关注日志具体实现:并且后续能方便切换其他日志套件: 这里先实 ...

  2. 基于log4net的日志组件扩展封装,实现自动记录交互日志 XYH.Log4Net.Extend(微服务监控)

    背景: 随着公司的项目不断的完善,功能越来越复杂,服务也越来越多(微服务),公司迫切需要对整个系统的每一个程序的运行情况进行监控,并且能够实现对自动记录不同服务间的程序调用的交互日志,以及通一个服务或 ...

  3. [开源]基于Log4Net简单实现KafkaAppender

    背景 基于之前基于Log4Net本地日志服务简单实现 实现本地日志服务,但是随着项目开发演进,本地日志服务满足不了需求,譬如在预发布环境或者生产环境,不可能让开发人员登录查看本地日志文件分析. Kaf ...

  4. Log4net的不能产生Log文件的问题

    [问题] 用如下的步骤应用了Log4Net: 建立了一个公用的项目, 在里面引入了Log4net的Nuget package. 在公用的项目中建立了一个类,加上了Log4net的attribute. ...

  5. 再谈AbstractQueuedSynchronizer:基于AbstractQueuedSynchronizer的并发类实现

    公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ...

  6. 再谈AbstractQueuedSynchronizer3:基于AbstractQueuedSynchronizer的并发类实现

    公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ...

  7. Java 并发编程-再谈 AbstractQueuedSynchronizer 3 :基于 AbstractQueuedSynchronizer 的并发类实现

    公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQue ...

  8. WorldWind源码剖析系列:日志类Log

    Utility工程中的日志类Log主要用来输出Debug状态下的调试信息.该类的类图如下: 日志类Log中使用到的类和内嵌结构体类型主要有以下这些: public class LogEventArgs ...

  9. C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法

    本文实例讲述了C#基于SQLiteHelper类似SqlHelper类实现存取Sqlite数据库的方法.分享给大家供大家参考.具体如下: 这个类不是我实现的,英文原文地址为http://www.egg ...

随机推荐

  1. tkinter事件机制

    一.tkinter.Event tkinter的事件机制跟js是一样的,也是只有一个Event类,这个类包罗万象,集成了键盘事件,鼠标事件,包含各种参数. 不像java swing那种强类型事件,sw ...

  2. Cookie的应用

    作用:在浏览器当中用cookie来保存参数,比如实现登录功能时用来保存账号 <%@ page language="java" import="java.util.* ...

  3. canvas

    1. 画布可以通过两只手指上下移动,画布大小默认为屏幕大小的2倍,通过自定义View,嵌套scollview实现. Y 2. 通过处理手指触摸事件,一根手指时,使用Canvas绘制移动路径,产生直线: ...

  4. read properties

    读取配置文件在项目中使用频率很大,但是实际项目中各种人,各种用法,五花八门,往往是一种方式的各种变体,然很多种方式是其中一种方式的复杂化.今天我来总结下读取配置文件的集中方式及一些不能靠copy代码能 ...

  5. EventBus使用

    转自 http://blog.csdn.net/harvic880925/article/details/40660137

  6. 在SpringMVC中使用@SessionAttributes和@ModelAttribute将数据存储在session域中

    今天在我的springMVC项目--图书管理系统中,希望在登录时将登录的Users存在session中,开始是准备在controller中使用Servlet API中的对象,可是一直无法引用,不知道为 ...

  7. thusc2016游记&&滚粗记&&酱油记

    #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...

  8. python 杂七杂八 :

    subprocess.Popen(...) python3 实现代码: 备注write 要使用bytes 在最后结果转为str 显示时才不会出现 b'' 这样的字节显示 import subproce ...

  9. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...

  10. JQuery选择器JQuery 事件

    JQuery 元素选择器 jQuery 使用 CSS 选择器来选取 HTML 元素. $("p") 选取 <p> 元素. $("p.intro") ...