博文1
定义日志的输出媒介
文件形式记录日志
<appender-ref ref="LogFileAppender" />
// 注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息
// 如果是WinForm(假定程序为MyDemo.exe,则需要一个MyDemo.exe.config文件)
// 如果是WebForm,则从web.config中读取相关信息
[assembly: log4net.Config.XmlConfigurator(Watch = ``true` `)]
创建日志记录组件实例
ILog log=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
记录错误日志
log.Error("error",new Exception("发生了一个异常"));
博文2 log4net配置与自定义一个异常过滤器
参考文章地址
:https://blog.csdn.net/qq_45701634/article/details/108343004
aop 将公共逻辑放到一个单独地方,
介绍过滤器
IAuthorizationFIlter 检查当前用户是否有Action权限,在Action执行前执行OnAuthorization方法。
IActionFilter
每个action执行前执行onActionExecuting方法,执行后执行OnActionExecuted方法
IExceptionFilter 当Action执行发生为吹了异常时候执行OnException方法。
定义的类可以在Global中GlobalFilters.Add(new ***Filter()) 添加为全局
1、安装程序集
2、在Web.config添加节点
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
3、在Global文件中启动
log4net.Config.XmlConfigurator.Configure(); //启动log4net
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
关于Conversion引出的材料
https://blog.csdn.net/liuxiao723846/article/details/52126936
%p 输出日志信息优先级
%d 输出日志时间点的日期或时间
%t 产生该日志事件的线程名
1、创建一个异常过滤器
在appstart下,新建一个类继承IExceptionFilter接口,实现其中的OnException方法
public class ZSZExceptionFilter:IExceptionFilter
{
private static ILog log = LogManager.GetLogger(typeof(ZSZExceptionFilter));
public void OnException(ExceptionContext filterContext)
{
log.ErrorFormat("出现未处理的异常{0}",filterContext.Exception);
}
}
2、把自定义的类添加到Global文件
GlobalFilters.Filters.Add(new App_Start.ZSZExceptionFilter());
博文3
https://blog.csdn.net/lincongqiong819/article/details/104981618
很详细,照着操作。
|