基于log4net的帮助类Log

 1 using log4net;
 2 using System;
 3 using System.Collections.Generic;
 4 using System.Diagnostics;
 5 using System.Linq;
 6 using System.Web;
 7
 8 namespace TryLittle.Helper
 9 {
10     public static class Log
11     {
12         public static void Debug(object message)
13         {
14             LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message);
15         }
16
17         public static void Debug(object message, Exception ex)
18         {
19             LogManager.GetLogger(GetCurrentMethodFullName()).Debug(message, ex);
20         }
21
22         public static void Error(object message)
23         {
24             LogManager.GetLogger(GetCurrentMethodFullName()).Error(message);
25         }
26
27         public static void Error(object message, Exception exception)
28         {
29             LogManager.GetLogger(GetCurrentMethodFullName()).Error(message, exception);
30         }
31
32         private static string GetCurrentMethodFullName()
33         {
34             try
35             {
36                 StackFrame frame;
37                 string str2;
38                 int num = 2;
39                 StackTrace trace = new StackTrace();
40                 int length = trace.GetFrames().Length;
41                 do
42                 {
43                     frame = trace.GetFrame(num++);
44                     str2 = frame.GetMethod().DeclaringType.ToString();
45                 }
46                 while (str2.EndsWith("Exception") && (num < length));
47                 string name = frame.GetMethod().Name;
48                 return (str2 + "." + name);
49             }
50             catch
51             {
52                 return null;
53             }
54         }
55
56         public static void Info(object message)
57         {
58             LogManager.GetLogger(GetCurrentMethodFullName()).Info(message);
59         }
60
61         public static void Info(object message, Exception ex)
62         {
63             LogManager.GetLogger(GetCurrentMethodFullName()).Info(message, ex);
64         }
65
66         public static void Warn(object message)
67         {
68             LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message);
69         }
70
71         public static void Warn(object message, Exception ex)
72         {
73             LogManager.GetLogger(GetCurrentMethodFullName()).Warn(message, ex);
74         }
75
76     }
77 }

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

时间: 2024-10-15 14:05:17

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

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

背景 项目开发中,我们或多或少会使用诸如NLog,Log4Net,Kafka+ELK等等日志套件: 基于关注点分离原则,业务开发的时候不应该关注日志具体实现:并且后续能方便切换其他日志套件: 这里先实现基于文件的日志服务,在下一篇将实现基于Kafka+ELK: 具体源码:MasterChief Nuget:Install-Package MasterChief.DotNet.Core.Log 欢迎Star,欢迎Issues: 日志接口定义 /// <summary> /// 日志记录接口 //

基于log4net的日志组件扩展分装,实现自动记录交互日志 XYH.Log4Net.Extend

背景: 随着公司的项目不断的完善,功能越来越复杂,服务也越来越多(微服务),公司迫切需要对整个系统的每一个程序的运行情况进行监控,并且能够实现对自动记录不同服务间的程序调用的交互日志,以及通一个服务或者项目中某一次执行情况的跟踪监控 根据log4net的现有功能满足不了实际需求,所以需要以log4net为基础进行分装完善,现在分装出了一个基础的版本,如有不妥之处,多多指点功能简介: 该组件是在log4net的基础上,进行了一定的扩展封装实现的自动记录交互日志功能 该组件的封装的目的是解决一下几个

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

背景 基于之前基于Log4Net本地日志服务简单实现 实现本地日志服务,但是随着项目开发演进,本地日志服务满足不了需求,譬如在预发布环境或者生产环境,不可能让开发人员登录查看本地日志文件分析. Kafka+ELK日志服务套件,可以在线日志服务可以解决上述问题,并且提供丰富报表分析等等: 具体源码:MasterChief Nuget:Install-Package MasterChief.DotNet.Core.KafkaLog 欢迎Star,欢迎Issues: 源码 基于Log4Net来实现与k

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

Utility工程中的日志类Log主要用来输出Debug状态下的调试信息.该类的类图如下: 日志类Log中使用到的类和内嵌结构体类型主要有以下这些: public class LogEventArgs : EventArgs//日志事件参数 { public int level; public string category; public string message; public LogEventArgs(int _l, string _c, string _m) { level = _l

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

公平模式ReentrantLock实现原理 前面的文章研究了AbstractQueuedSynchronizer的独占锁和共享锁,有了前两篇文章的基础,就可以乘胜追击,看一下基于AbstractQueuedSynchronizer的并发类是如何实现的. ReentrantLock显然是一种独占锁,首先是公平模式的ReentrantLock,Sync是ReentractLock中的基础类,继承自AbstractQueuedSynchronizer,看一下代码实现: 1 abstract stati

Hibernate 基于注解的SessionFactory类的生成以及自动生成表SchemaExport类的

像之前基于映射文件 .hbm.xml 的SessionFactory类的写法是这样的 <span style="font-size:18px;color:#33CC00;">private static SessionFactory sessionFactory ; static { sessionFactory = new Configuration().configure().buildSessionFactory(); }</span> 自动生成数据库Sc

基于Log4Net的日志系统

阅读目录 日志系统应具备的特性 Log4Net 配置文件:log4net.config 初始化 输出信息 对Log4Net的封装 log4net.config复杂配置 不管是Web应用程序还是WinForm应用程序,Visual Studio所带的调试功能都是足够强大,足以应付开发中的各种调试需求.但是,对于已经发布的应用,要记录错误.记载运行中的各种状态信息,就需要依靠日志系统了. 回到顶部 日志系统应具备的特性 一个好的日志系统,应该具备以下的特性: 1.运行稳定.因为日志的作用就是要在系统

asp.net 的log4net的helper类

using log4net; using System; using System.Diagnostics; namespace MxWeiXinPF.Common.log { public static class LogHelper { // private static LogMessage message = null; #region error 错误.异常时候记录日志 /// <summary> /// 错误.异常时候记录日志 /// </summary> /// &l

Android中的管理工具类log可以这么些.....

做Android开发的一个重要的工具就是locat,这是代码调试,出错排除定位等必不可少的工具,也是习以为常的, 首先我就来先说一下log吧. 它属于android.util.log类.常用的打印日志的方法有5个如下 : Log.v(tag,message) :   //verbose模式,打印最详细的信息 Log.d(tag,message) :   //debug模式,打印调试的信息 Log.i(tag,message) :    //info Log.w(tag,message) :