123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- using System;
- using System.Text;
- using log4net;
- namespace Logger
- {
- /// <summary>
- /// 日志
- /// </summary>
- public class LogHelper
- {
- /// <summary>
- /// 日志对象
- /// </summary>
- private static ILog _log;
- /// <summary>
- /// 构造
- /// </summary>
- /// <param name="type">日志對象</param>
- public LogHelper(Type type)
- {
- //FileInfo configFile = new FileInfo(HttpContext.Current.Server.MapPath("/XmlConfig/log4net.config"));
- //log4net.Config.XmlConfigurator.Configure(configFile);
- _log = LogManager.GetLogger(type);
- }
- /// <summary>
- /// 构造
- /// </summary>
- /// <param name="typeName"></param>
- public LogHelper(string typeName)
- {
- //FileInfo configFile = new FileInfo(HttpContext.Current.Server.MapPath("/XmlConfig/log4net.config"));
- //log4net.Config.XmlConfigurator.Configure(configFile);
- _log = LogManager.GetLogger(typeName);
- }
- /// <summary>
- /// 得到日志对象
- /// </summary>
- /// <param name="type"></param>
- /// <returns></returns>
- public static ILog GetLogger(string type)
- {
- return LogManager.GetLogger(type);
- }
- /// <summary>
- /// 利用Action委托封装Log4net对日志的处理,无返回值
- /// </summary>
- /// <param name="type">类型</param>
- /// <param name="desc">描述</param>
- /// <param name="errorHandel">异常处理方式</param>
- /// <param name="tryHandel">调试代码</param>
- /// <param name="catchHandel">异常处理方式</param>
- /// <param name="finallHandel">最终处理方式</param>
- public static void Logger(Type type, string desc, ErrorHandel errorHandel, Action tryHandel,Action<Exception> catchHandel = null, Action finallHandel = null)
- {
- ILog log = LogManager.GetLogger(type);
- try
- {
- //log.Debug(desc + "\r\n");
- tryHandel();
- }
- catch (Exception exception)
- {
- //StringBuilder builder = new StringBuilder();
- //builder.Append("\r\n==========================" + desc + "发生异常==========================\r\n");
- //builder.Append(string.Format("发生时间:{0:yyyy-MM-dd HH:mm:ss}\r\n", DateTime.Now));
- //builder.Append(string.Format("错误描述:{0}\r\n", exception.Message.Replace("\r\n", "")));
- //builder.Append(string.Format("错误对象:{0}\r\n", exception.Source));
- //builder.Append(string.Format("引发当前异常方法:{0}\r\n", exception.TargetSite));
- //builder.Append("\r\n==========================异常信息结束==========================\r\n");
-
- log.Error(desc + "发生异常。", exception);
- if (catchHandel != null)
- {
- catchHandel(exception);
- }
- if (errorHandel == ErrorHandel.Throw)
- {
- throw;
- }
- }
- finally
- {
- if (finallHandel != null)
- {
- finallHandel();
- }
- }
- }
-
- #region 1、Info
- /// <summary>
- /// 普通日志
- /// </summary>
- /// <param name="info"></param>
- public void Info(string info)
- {
- _log.Info(info);
- }
- /// <summary>
- /// 普通日志,带参数
- /// </summary>
- /// <param name="format"></param>
- /// <param name="args"></param>
- public void InfoFormat(string format, params object[] args)
- {
- _log.InfoFormat(format, args);
- }
- #endregion
- #region 2、Error
- /// <summary>
- /// 错误日志
- /// </summary>
- /// <param name="info"></param>
- public void Error(string info)
- {
- _log.Error(info);
- }
- /// <summary>
- /// 异常日志
- /// </summary>
- /// <param name="info"></param>
- /// <param name="exception"></param>
- public void Error(string info, Exception exception)
- {
- _log.Error(info, exception);
- }
- /// <summary>
- /// 错误日志,带参数
- /// </summary>
- /// <param name="format"></param>
- /// <param name="args"></param>
- public void ErrorFormat(string format, params object[] args)
- {
- _log.ErrorFormat(format, args);
- }
- #endregion
- #region 3、Debug
- /// <summary>
- /// 调试日志
- /// </summary>
- /// <param name="info"></param>
- public void Debug(string info)
- {
- _log.Debug(info);
- }
- /// <summary>
- /// 调试日志,带参数
- /// </summary>
- /// <param name="format"></param>
- /// <param name="args"></param>
- public void DebugFormat(string format, params object[] args)
- {
- _log.DebugFormat(format, args);
- }
- #endregion
- #region 4、Warn
- /// <summary>
- /// 警告日志
- /// </summary>
- /// <param name="info"></param>
- public void Warn(string info)
- {
- _log.Warn(info);
- }
- /// <summary>
- /// 警告日志,带参数
- /// </summary>
- /// <param name="format"></param>
- /// <param name="args"></param>
- public void WarnFormat(string format, params object[] args)
- {
- _log.WarnFormat(format, args);
- }
- #endregion
- }
- }
|