1.安装
使用nuget下载log4net 当前最新2.0.8
2.配置项目程序集
在Assembly程序集中增加如下
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
3.在log4net.config文件中配置如下 如是站点应放到bin文件夹下
4.创建帮助类
namespace Common
{
///
/// 日志帮助类
///
public class LogHelper
{
//GetLogger表示log4net配置文件中logger标签中name属性,此处要一致 不然无log输出
private static readonly log4net.ILog logInfo = log4net.LogManager.GetLogger("loginfo");
private static readonly log4net.ILog logError = log4net.LogManager.GetLogger("logerror");
///
/// 记录Info日志
///
///
///
public static void Info(string msg)
{
if (logInfo.IsInfoEnabled)
{
logInfo.Info(msg);
}
}
///
/// 记录Error日志
///
///
///
public static void Error(string info, Exception ex = null)
{
if (!string.IsNullOrEmpty(info) && ex == null)
{
logError.ErrorFormat("【附加信息】 : {0}
", new object[] { info });
}
else if (!string.IsNullOrEmpty(info) && ex != null)
{
string errorMsg = BeautyErrorMsg(ex);
logError.ErrorFormat("【附加信息】 : {0}
{1}", new object[] { info, errorMsg });
}
else if (string.IsNullOrEmpty(info) && ex != null)
{
string errorMsg = BeautyErrorMsg(ex);
logError.Error(errorMsg);
}
}
///
/// 美化错误信息
///
/// 异常
/// 错误信息
private static string BeautyErrorMsg(Exception ex)
{
string errorMsg = string.Format("【异常类型】:{0}
【异常信息】:{1}
【堆栈调用】:{2}", new object[] { ex.GetType().Name, ex.Message, ex.StackTrace });
errorMsg = errorMsg.Replace("\r\n", "
");
errorMsg = errorMsg.Replace("位置", "位置");
return errorMsg;
}
}
}