1. 程式人生 > >ExceptionLess新玩法 -- 審計日誌

ExceptionLess新玩法 -- 審計日誌

審計日誌

這算是一個挺酷的功能,把每個請求都記錄下來,之前在abp中看到過這個功能,配合視覺化的介面,簡直是在裝逼

image

看到了exceptionless後,心念一動,我也可以根據它做一個審計日誌的功能。這裡需要一些MVC過濾器的知識,不同的同學請谷歌查一下資料。

Next

使用過濾器, 在action執行完畢後執行此方法,首先建立一個attribute繼承自ActionFilterAttribute重寫OnActionExecuted方法,使用action名稱做為Message使用Controller名稱做為標籤進行記錄,關於到底要記錄一些什麼,就根據各位專案的需求了。

/// <summary>
/// Mvc action執行前後處理 /// </summary> public class MvcActionProcessFilterAttribue : ActionFilterAttribute { /// <summary> /// 方法執行後進行的操作 /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuted(ActionExecutedContext filterContext) {
//記錄審記日誌 var con = filterContext.Controller as Controller; var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName; var actionName = filterContext.ActionDescriptor.ActionName; ExceptionlessClient.Default.CreateFeatureUsage(actionName).AddTags(controllerName).Submit(); } }

可能會有很多個Web專案,一個專案去寫一個肯定是不明智的,這裡我把審計日誌和FilterConfig放到了基礎設施層,方便Web專案使用,使用起來很簡單,只需要在Global新增幾行短短的程式碼就一切搞定了,博主的圖中exceptionlesskey之所以這麼設定,是因為線上和測試版肯定是不同的,所以放到了配置檔案中進行維護。

image

image

玩法升級

上面已經完善的很好了,看起來也很棒。。但是讓人一臉懵逼的是,開啟頁面看到的是這樣的。嗯一堆方法名沒有問題,但是第一眼望去我並不知道這是做什麼的啊。。這就有點尷尬了,如果能把方法上的註釋放上去是不是就完美了?動手開搞吧。

image

比較尷尬的是,註釋在編譯後是會消失的,而且通過程式碼是拿不到方法上的註冊的,不像特性一樣。當然解決方案總是會有的,我們右擊專案,屬性,生成,輸出XML文件。

這樣就可以讀取文件根據action和contrller去拿到我們想要的註釋了,因為每個專案的文件名是不一樣的(當然可以設定成一樣,所以我後面說的話可以選擇忽視)我在webconfig中配置了每個專案的名稱,然後拿到名稱後去讀取XML檔案,這個時候我們想要的註釋就已經拿到了

var proejctName = ConfigurationManager.AppSettings["ProjectName"] as string;
            //拿到包含註釋的xml文件
            var xml = XDocument.Load(con.Server.MapPath(@"~/bin/" + proejctName + ".XML"));
            var controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            var actionName = filterContext.ActionDescriptor.ActionName;
            //拿到方法上的註釋
            //拿到方法上的註釋沒有引數的方法沒有(括號
            var summary = (from member in xml.Elements("doc").Elements("members").Elements("member") where member.Attribute("name").Value.ToString().Contains("." + controllerName + "Controller." + actionName + "(") select member.Element("summary").Value).FirstOrDefault() ??
                         (from member in xml.Elements("doc").Elements("members").Elements("member") where member.Attribute("name").Value.ToString().Contains("." + controllerName + "Controller." + actionName) select member.Element("summary").Value).FirstOrDefault();

看一下效果,嗯,不錯是我想要的。

image

結束語,上面皆是MVC專案的做法,而在webApi中則需要再去寫一個相應的過濾器,而exceptionless對webapi的支援也不是那麼完全,比如request的引數和資訊就不會被記錄下來,所以看起來沒有Mvc專案記錄的資訊這麼豐富,當然大家可以自行完善。博主就進行了這樣的完善。

相關推薦

ExceptionLess -- 審計日誌

審計日誌 這算是一個挺酷的功能,把每個請求都記錄下來,之前在abp中看到過這個功能,配合視覺化的介面,簡直是在裝逼 看到了exceptionless後,心念一動,我也可以根據它做一個審計日誌的功能。這裡需要一些MVC過濾器的知識,不同的同學請谷歌查一下資料。 Next 使用過濾器, 在acti

ExceptionLess — 記日誌

ExceptionLess 之前也有介紹過這個框架,其實網上也有很多的資料,無論是部署還是一些詳細的高階玩法都講的很清楚也很棒,博主也學習了一些他們的博文,因為很多的東西比如本地部署別人已經寫了,我再去寫也不免俗套。所以這裡介紹一些我在專案中玩法 有需要本地部署教程的同學可以看 這一篇博文 ,內容通俗易通

自定義 checkbox ?

buttonview自定義 checkbox 新玩法 ?第一步:selector編寫 drawable/selector_checkbox_voice.xml<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="htt

Ajaxfetch API

sync turn div data ade 原生 統一 基於 blank 目前 Web 異步應用都是基於 XMLHttpRequest/ActiveXObject (IE)實現的, 這些對象不是專門為資源獲取而設計的,因而它們的 API 非常復雜,同時還需要開發者處理兼容

小白做淘客店鋪

淘客微信淘客在朋友圈刷了將近兩個月。有些大咖賺得盆滿缽滿,有些小白交了不少學費。有人日入幾千幾萬,也有入不敷出。在此咖妹並沒有褒貶之意,只是提醒大家,不光淘客如此,其他項目亦是如此,別人能做成功的項目,自己不一定能做成功,不是所有的項目都適合自己操作。但是我們可以從那些成功人士、項目那裏吸取知識、幹貨,總結變

PHP+Redis 實例【二】頁面緩存

做了 urn 最好 博客 更新 有一個 返回 致命傷 什麽 今天算是認識到博客園裏的審查團隊多內幕了,哈哈,貼個圖玩下。 氣死寶寶了。 進入主題! 今天就不寫什麽功能性的了,換下口味說下關於頁面級的緩存,應該怎麽做。 相信有很多小夥伴查了百度,甚至google,

直播競答必讀:一定要提前知道的技術坑和

col 連線 平臺 秀場 分享圖片 抓娃娃 一個 快速 目前 2018 年的第一個周五,晚上 7 點剛過,2 場沖頂大會、3 場芝士超人、3 場百萬作戰和 4 場百萬英雄在短短 3 小時內輪番登場。 又一個直播風口? 「沖頂大會」早已不是直播及其衍生產品的首次刷屏。事實上,

手機挖礦火爆背後是莊家們的還是套路?

手機這一兩年以來,比特幣和智能合約平臺以太坊為代表的區塊鏈技術高速發展,讓加密貨幣成為全新的投資方式。各種一夜暴富的神話不斷上演,刺激著人們的盲從心理。數據顯示,當下可供交易的加密貨幣種類已多達2000種,而且仍在以每月數十種的速度增長。但由於監管困難且心理浮躁,加密貨幣領域也是亂象叢生。 比如很多項目根本沒

Windows10永久激活

win10 windows update “先用激活後的Windows7_SP1或Windows8.1升級Windows10專業版,升級好後Windows10就永久激活了......”這就是2015年7月微軟公司提出的一年期windows10“普惠”正版免費升級政策。 事實上,激活服務器一年期滿後一直

異步社區進入3.X時代!這些你一定要知道

異步社區點擊關註 異步圖書,置頂公眾號每天與你分享 IT好書 技術幹貨 職場知識參與文末話題討論,贈送20本e讀版異步圖書。——異步小編異步社區的老用戶們可能註意到了,社區最近做了一次大的升級改版。有多大呢?答案是:很大!按照一年一個大版本來算,今年是異步社區上線運營的第三年,可以叫做異步社區3.0版。新版本

奶茶實驗室開創奶茶

最大的 愛的 alt 高中 最大 1.5 nag 重新 img 從年初的奶茶品牌不斷更替,到近幾個月的逐漸恢復平靜。奶茶界的玩法不斷的改變,最終重新回到產品口味上分辨勝負。但是,近日有一間從加拿大引進的,國內首家“化學實驗室”形式為主題的奶茶店魔可卡奶茶實驗室打破了奶茶從“

可優星球商城app開發挖礦模式

通用 watermark 圖片 app開發 專業 充值 alt ges 了解 可優星球挖礦系統app開發,可優星球app區塊鏈商城搭建,可優星球商城app開發,可優星球挖礦虛擬幣系統app定制×××▌186電1561V4813 武女士▌我司專業定制類似虛擬挖礦手機軟件,可優

快印客人工智能名片,7個銷售

系統 微信好友 小程序 上線 針對性 風險 微信群 出了 潮流 快印客人工智能名片,7個銷售新玩法   發布以來,受到各方的關註和贊譽,也得到了眾多企業管理者和銷售員的認可。快印客憑借開創性的商業模式、新穎潮流的玩法、豐富的功能切入和不俗的業績提升表現,都讓它成為2018年

雙十一快來了,如何抓住淘寶這次紅利局,搶占先機“

升級 就會 image 你會 adc 上傳 價格 51cto 寶媽 15年的時候,無貨源淘寶店鋪精細化運營項目正是紅紅火火的時候,朋友那時候在做,但我並沒有去關註。 因為我自己經營著一家淘寶女裝店,知道淘寶人的艱辛,並不看好這個項目。不過後來知道朋友在那一年賺了三百多萬的利

2018年雙十一拼多多店群怎麽做?揭秘拼多多店群項目

shu 而已 都差不多 判斷 能力 fff 2018年 真的 留住 店群管家大講堂-之前也說了很多拼多多店群的操作細節,雙十一即將來臨,還沒想好怎麽玩,那就完美錯過雙十一啦!在之前的店群課程中已經教了很多方法,這些方法看起來簡單,但是如果你沒有做過,就不會知道實踐起來是什麽

雙十一快來了,如何抓住淘寶這次紅利局,搶佔先機“

15年的時候,無貨源淘寶店鋪精細化運營專案正是紅紅火火的時候,朋友那時候在做,但我並沒有去關注。 因為我自己經營著一家淘寶女裝店,知道淘寶人的艱辛,並不看好這個專案。不過後來知道朋友在那一年賺了三百多萬的利潤,徹底顛覆了我的觀念。 我的女裝店,一年也是三百多萬的銷售額,但是基本沒多少利潤。之後我去了朋友公

快印客人工智慧名片,7個銷售

  快印客人工智慧名片,7個銷售新玩法   釋出以來,受到各方的關注和讚譽,也得到了眾多企業管理者和銷售員的認可。快印客憑藉開創性的商業模式、新穎潮流的玩法、豐富的功能切入和不俗的業績提升表現,都讓它成為2018年最受矚目的商界明星,一張“名片”幫助企業進入新銷售時代!   作為一款新型微信銷售系統,短短

微信,只需三步就可以在朋友圈傳送豎排文字,好看又酷炫!

很多小夥伴喜歡用微信朋友圈來記錄生活中的點點滴滴,那麼如何才能讓自己的動態在朋友圈中看起來與眾不同呢? 今天給小夥伴們分享一個有意思的微信小程式,只需幾步就能設定豎排文字,效果超棒,趕快一起學起來吧!   第一步:開啟微信小程式"文字豎排",在文字框中輸入內容。 &n

GitHub 貢獻面板

程式碼請移步GitHub(https://github.com/YES-Lee/git_painter) 無聊的時候刷GitHub發現,好多大牛主頁的貢獻記錄都是一片綠色,比如阮一峰老師的,如下圖。 於是也想把自己的全部刷成綠色,在折騰的過程中覺得就一片綠好像沒意思,於是就

互融雲數字積分共享交易系統:傳統積分

隨著經濟水平的不斷提升,人們的消費水平也在不斷的增長。消費增長快,消費市場的競爭也相應會變得激烈。市場上各種促進消費的營銷手段多樣化,,其中以積分形式為主,各式各樣的積分眼花繚亂,但是積分最終的消耗率卻非常低,大多數使用者雖手握積分卻如同雞肋。 目前大多數服務領域的翹楚企業都推出了積分體系,尤其是航空、銀行