log4net的简单使用
2021-02-01 04:17
标签:格式 login exce media api 复制 指定 exec 保存
1、安装log4net插件
在nuget包管理器查找log4net并安装,安装最新版本就行,如果不行,自行百度吧。在需要使用log4net的项目中引用它
2、创建log4net.config
在和web.config同一文件路径下创建log4net.config文件,随便创建一个文件,重命名即可。创建完成之后,设置其属性:复制到输出目录。并在其中加入以下设置
上述配置中有对应的注释,可以根据个人需要更改。这里我们需要多说一嘴log4net的日志等级,从低至高分别是ALL、DEBUG、INFO、WARN、ERROR、FATAL、None。我们的配置中就配置了info(一般日志信息,可记录具体操作)和error(错误日志信息,可记录异常信息)。
3、记录程序集信息
找出项目AssemblyInfo.cs文件,在文件的末尾加上
// 指定log4net 的配置文件 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"log4net.config", Watch = true)]
4、建立log4net帮助类
////// 日志帮助类 /// public class LogHelper { public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); ////// 普通的文件记录日志 /// /// public static void WriteLog(string info) { if (loginfo.IsInfoEnabled) { loginfo.Info(info); } } ////// 错误日志 /// /// /// public static void WriteLog(string info, Exception se) { if (logerror.IsErrorEnabled) { logerror.Error(info, se); } } }
5、全局拦截异常信息并写进错误日志
找到项目的WebApiConfig.cs文件,添加ExceptionFilterAttribute过滤器截取全局异常
namespace SnailFis { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API 配置和服务 //跨域配置 config.EnableCors(new EnableCorsAttribute("*", "*", "*")); // Web API 路由 config.MapHttpAttributeRoutes(); //设置webapi路由规则 config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "snailFis_api/{controller}/{action}" ); config.Filters.Add(new ApiExceptionResultAttribute());//添加过滤器 //移除xml返回格式数据 GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); } ////// API异常返回 /// public class ApiExceptionResultAttribute : ExceptionFilterAttribute { public override void OnException(HttpActionExecutedContext actionExecutedContext) { base.OnException(actionExecutedContext);//获取返回的http信息 LogHelper.WriteLog("WebApiConfig", actionExecutedContext.Exception); } } } }
这时我们可以故意在代码中抛出一个异常,看看能不能截取到并写入进错误日志了。另外info日志,就需要根据个人需求添加了,这里就不再赘述了。
log4net的简单使用
标签:格式 login exce media api 复制 指定 exec 保存
原文地址:https://www.cnblogs.com/liangshibo/p/13185420.html
上一篇:js this