本申請提供了一種非侵入式日志記錄方法和系統。日志記錄方法包括如下的步驟:在業務邏輯執行前,根據自定義注解規則分析所述業務日志,以獲得日志信息;在所述業務邏輯的執行過程中,根據自定義函數和日志上下文解析所述日志信息,以獲得日志解析結果;以及存儲所述日志解析結果。本申請的非侵入式日志記錄方法和系統可以簡單快捷的記錄業務操作,降低業務日志記錄開發成本,同時不影響業務邏輯執行。同時不影響業務邏輯執行。同時不影響業務邏輯執行。
【技術實現步驟摘要】
非侵入式日志記錄方法和系統
[0001]本申請主要涉及日志記錄處理領域,尤其涉及一種非侵入式日志記錄方法和系統。
技術介紹
[0002]業務日志幾乎存在于每個業務系統中,而這些系統一般都有各自記錄日志的一套實現方式。為了使業務日志做到接入簡單、易于理解,且不和業務邏輯耦合。設計優雅的記錄業務日志方式,達到“讓用戶知道在什么時間發生了什么事”的目的是本領域一直研究的課題。
[0003]常見的日志有系統日志,主要給開發人員排查問題提供依據,一般打印在系統日志中且日志中可能包含開發代碼,可讀性不高。在業務人員使用系統時,需要讓業務人員了解某個對象在新增或編輯前后經歷過哪些步驟,比如訂單的物流信息,倉庫的庫存變更等。開發人員在存儲訂單信息的同時,如果采用原始的方式記錄訂單的業務流程到數據庫,并展示給業務人員,會增加額外開發量。
[0004]因此,本領域亟待開發一種日志記錄手段,可以解決上述的技術問題。
技術實現思路
[0005]本申請要解決的技術問題是提供一種非侵入式日志記錄方法和系統,可以簡單快捷的記錄業務操作,降低業務日志記錄開發成本,同時不影響業務邏輯執行。
[0006]為解決上述技術問題,本申請提供了一種非侵入式日志記錄方法,包括如下的步驟:在業務邏輯執行前,根據自定義注解規則分析所述業務日志,以獲得日志信息;在所述業務邏輯的執行過程中,根據自定義函數和日志上下文解析所述日志信息,以獲得日志解析結果;以及存儲所述日志解析結果。
[0007]在本專利技術的一實施例中,所述自定義注解規則包括操作標題、操作類型、對應菜單信息、是否http請求、是否開啟自動查詢歷史數據信息和/或自定義函數。
[0008]在本專利技術的一實施例中,在所述獲得日志信息后,還包括解析查詢歷史記錄后再執行所述業務邏輯。
[0009]在本專利技術的一實施例中,所述解析查詢歷史記錄依賴于所述自定義函數執行。
[0010]在本專利技術的一實施例中,還包括在開始執行所述業務邏輯后,首先判斷業務執行是否拋出異常,若判斷結果為是則結束流程,否則繼續執行解析所述日志信息的步驟。
[0011]在本專利技術的一實施例中,還包括在存儲所述日志解析結果后,釋放上下文變量。
[0012]本專利技術的另一方面還提出了一種非侵入式日志記錄系統,包括:日志攔截模塊,配置為在業務邏輯執行前,根據自定義注解規則分析所述業務日志,以獲得日志信息;業務執行模塊,配置為執行、處理和/或存儲所述業務邏輯;日志解析模塊,配置為在所述業務邏輯的執行過程中,根據自定義函數和日志上下文解析所述日志信息,以獲得日志解析結果;以及日志存儲模塊,配置為存儲所述日志解析結果。
[0013]在本專利技術的一實施例中,所述日志解析模塊還配置為在開始執行所述業務邏輯后,首先判斷業務執行是否拋出異常,若判斷結果為是則結束流程,否則繼續執行解析所述日志信息的步驟。
[0014]本專利技術的另一方面還提出了一種非侵入式日志記錄系統,包括:存儲器,用于存儲可由處理器執行的指令;以及處理器,用于執行所述指令以實現上述的非侵入式日志記錄方法。
[0015]一種存儲有計算機程序代碼的計算機可讀介質,所述計算機程序代碼在由處理器執行時實現上述的非侵入式日志記錄方法。
[0016]與現有技術相比,本申請具有以下優點:本申請的非侵入式日志記錄方法和系統,可以減少開發周期時間節省開發成本費,使開發人員像記錄系統一樣,通過簡單的方式,達到業務操作的記錄。本專利技術可以將Java Aop作為基礎技術,并結合容器、消息隊列等微服務技術來進行構建。由于大多數的情況下,相關業務系統的開發人員并不是一位,為了避免開發風格迥異,本專利技術統一了開發人員記錄操作日志的標準,減少開發代碼量。同時,由于設計了通過自定義函數和上下文參數解析記錄日志,增加了對豐富日志內容的可擴展性,通過框架springboot提供的自動裝配,達到整體攔截功能的開關,日志攔截記錄且與業務邏輯解耦的靈活性和通用性更強。
附圖說明
[0017]包括附圖是為提供對本申請進一步的理解,它們被收錄并構成本申請的一部分,附圖示出了本申請的實施例,并與本說明書一起起到解釋本申請原理的作用。附圖中:
[0018]圖1是本專利技術一實施例的一種非侵入式日志記錄方法的流程示意圖;
[0019]圖2是本專利技術另外一實施例的一種非侵入式日志記錄方法的流程示意圖;
[0020]圖3是本專利技術一實施例的一種非侵入式日志記錄系統的系統框圖;
[0021]圖4是如圖3所示實施例中非侵入式日志記錄系統的邏輯原理示意圖;以及
[0022]圖5是本專利技術另外一實施例的一種非侵入式日志記錄系統的系統框圖。
具體實施方式
[0023]為了更清楚地說明本申請的實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單的介紹。顯而易見地,下面描述中的附圖僅僅是本申請的一些示例或實施例,對于本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖將本申請應用于其他類似情景。除非從語言環境中顯而易見或另做說明,圖中相同標號代表相同結構或操作。
[0024]如本申請和權利要求書中所示,除非上下文明確提示例外情形,“一”、“一個”、“一種”和/或“該”等詞并非特指單數,也可包括復數。一般說來,術語“包括”與“包含”僅提示包括已明確標識的步驟和元素,而這些步驟和元素不構成一個排它性的羅列,方法或者設備也可能包含其他的步驟或元素。
[0025]除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數字表達式和數值不限制本申請的范圍。同時,應當明白,為了便于描述,附圖中所示出的各個部分的尺寸并不是按照實際的比例關系繪制的。對于相關領域普通技術人員已知的技術、方
法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為授權說明書的一部分。在這里示出和討論的所有示例中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它示例可以具有不同的值。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0026]在本申請的描述中,需要理解的是,方位詞如“前、后、上、下、左、右”、“橫向、豎向、垂直、水平”和“頂、底”等所指示的方位或位置關系通常是基于附圖所示的方位或位置關系,僅是為了便于描述本申請和簡化描述,在未作相反說明的情況下,這些方位詞并不指示和暗示所指的裝置或元件必須具有特定的方位或者以特定的方位構造和操作,因此不能理解為對本申請保護范圍的限制;方位詞“內、外”是指相對于各部件本身的輪廓的內外。
[0027]為了便于描述,在這里可以使用空間相對術語,如“在
……
之上”、“在
……
上方”、“在
……
上表面”、“上面的”等,用來描述如在圖中所示的一個器件或特征與其他器件或特征的空間位置關系。應當本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種非侵入式日志記錄方法,其特征在于,包括如下的步驟:在業務邏輯執行前,根據自定義注解規則分析所述業務日志,以獲得日志信息;在所述業務邏輯的執行過程中,根據自定義函數和日志上下文解析所述日志信息,以獲得日志解析結果;以及存儲所述日志解析結果。2.如權利要求1所述的方法,其特征在于,所述自定義注解規則包括操作標題、操作類型、對應菜單信息、是否http請求、是否開啟自動查詢歷史數據信息和/或自定義函數。3.如權利要求1所述的方法,其特征在于,在所述獲得日志信息后,還包括解析查詢歷史記錄后再執行所述業務邏輯。4.如權利要求3所述的方法,其特征在于,所述解析查詢歷史記錄依賴于所述自定義函數執行。5.如權利要求1~4任一項所述的方法,其特征在于,還包括在開始執行所述業務邏輯后,首先判斷業務執行是否拋出異常,若判斷結果為是則結束流程,否則繼續執行解析所述日志信息的步驟。6.如權利要求1所述的方法,其特征在于,還包括在存儲所述日志解析結果后,釋放上下文變...
【專利技術屬性】
技術研發人員:馬佳偉,何寅華,樂敏睿,瞿盛,姚崢嶸,夏元俊,裴大鵬,
申請(專利權)人:商派軟件有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。