日志輸出方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及日志處理領(lǐng)域,具體而言,涉及一種日志輸出方法和裝置。
【背景技術(shù)】
[0002]應(yīng)用系統(tǒng)一般都會設(shè)計覆蓋本應(yīng)用關(guān)鍵業(yè)務(wù)處理結(jié)果的系統(tǒng)日志,便于追蹤監(jiān)控及統(tǒng)計分析:如通過采集此類關(guān)鍵業(yè)務(wù)處理日志,結(jié)合相應(yīng)的日志分析系統(tǒng),能夠準確、實時地生成業(yè)務(wù)處理報告、系統(tǒng)處理出錯原因占比等各項分析數(shù)據(jù)。
[0003]此類系統(tǒng)日志文件一般會有其標準格式,包含諸如請求來源、關(guān)鍵業(yè)務(wù)參數(shù)、處理時長及處理結(jié)果等信息;滿足一定解析格式的要求,用于業(yè)務(wù)運行健康狀態(tài)跟蹤、業(yè)務(wù)規(guī)模數(shù)據(jù)統(tǒng)計分析、系統(tǒng)出錯原因跟蹤定位等。
[0004]為了便于對日志信息的分析處理,應(yīng)用系統(tǒng)會預(yù)定義此類日志的輸出標準格式,如:[接口名,方法名,處理耗時,處理結(jié)果][(本系統(tǒng)關(guān)鍵數(shù)據(jù)單據(jù)號,本系統(tǒng)關(guān)鍵數(shù)據(jù)業(yè)務(wù)屬性1,本系統(tǒng)關(guān)鍵數(shù)據(jù)業(yè)務(wù)屬性2,...,業(yè)務(wù)請求來源系統(tǒng),業(yè)務(wù)請求來源系統(tǒng)關(guān)鍵數(shù)據(jù)單據(jù)號)(業(yè)務(wù)請求來源IP,業(yè)務(wù)請求來源終端)]。
[0005]應(yīng)用系統(tǒng)為保證每次處理都輸出上述的標準格式日志,通常會通過硬編碼手段,強制將接口入?yún)⒅懈黜楆P(guān)鍵信息屬性取值、并對預(yù)定義的標準日志對象進行賦值,以期達到屬性適配的目的。
[0006]由于業(yè)務(wù)系統(tǒng)的復(fù)雜性,往往有不同的系統(tǒng)服務(wù)接口、大量差異化的接口入?yún)ο蟠嬖冢惠敵鰳藴矢袷降南到y(tǒng)處理日志,則必然會出現(xiàn)大量的差異化取值、賦值過程,硬編碼手段研發(fā)及維護成本高,每次入?yún)ο蟮纳?、標準格式系統(tǒng)日志對象的變更等,都會帶來大量的系統(tǒng)改造成本。
[0007]針對相關(guān)技術(shù)中系統(tǒng)輸出標準格式的日志容易導致系統(tǒng)維護成本高的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的主要目的在于提供一種日志輸出方法和裝置,以解決現(xiàn)有技術(shù)中系統(tǒng)輸出標準格式的日志容易導致系統(tǒng)維護成本高的問題。
[0009]根據(jù)本發(fā)明的一個方面,提供了一種日志輸出方法。
[0010]根據(jù)本發(fā)明的日志輸出方法包括:判斷源對象的屬性集中是否存在與目標對象的目標屬性相映射的源屬性,其中,所述源對象為輸出所述日志的應(yīng)用程序的入?yún)ο?,所述目標對象為輸出所述日志時使用到的對象,所述目標對象的屬性集與所述源對象的屬性集之間具有屬性映射關(guān)系,所述目標屬性為所述目標對象的屬性集中的屬性;在判斷出所述源對象的屬性集中存在與所述目標屬性相映射的源屬性的情況下,獲取所述源屬性的屬性值;以及設(shè)置所述目標屬性的屬性值為所述源屬性的屬性值,得到格式化后的所述日志。
[0011]進一步地,在判斷源對象的屬性集中是否存在與目標對象的目標屬性相映射的源屬性之前,所述日志輸出方法還包括:設(shè)置所述目標對象的屬性集與所述源對象的屬性集之間的屬性映射關(guān)系。
[0012]進一步地,設(shè)置所述目標對象的屬性集與所述源對象的屬性集之間的屬性映射關(guān)系包括:設(shè)置所述目標對象的第一屬性與所述源對象的第一屬性相映射,其中,所述目標對象的第一屬性為所述目標對象的屬性集中的任一屬性,所述源對象的第一屬性為所述源對象的屬性集中的任一屬性;以及設(shè)置所述目標對象的第二屬性與所述源對象的第二屬性相映射,其中,所述目標對象的第二屬性為所述目標對象的屬性集中的任一屬性,并且所述目標對象的第二屬性與所述目標對象的第一屬性不相同,所述源對象的第二屬性為所述源對象的屬性集中的任一屬性,并且所述源對象的第二屬性與所述源對象的第一屬性不相同。
[0013]進一步地,設(shè)置所述目標對象的屬性集與所述源對象的屬性集之間的屬性映射關(guān)系包括:標識所述目標對象的第一屬性和所述源對象的第一屬性均為第一預(yù)設(shè)標識,其中,所述目標對象的第一屬性為所述目標對象的屬性集中的任一屬性,所述源對象的第一屬性為所述源對象的屬性集中的任一屬性;以及標識所述目標對象的第二屬性和所述源對象的第二屬性均為第二預(yù)設(shè)標識,其中,所述目標對象的第二屬性為所述目標對象的屬性集中的任一屬性,并且所述目標對象的第二屬性與所述目標對象的第一屬性不相同,所述源對象的第二屬性為所述源對象的屬性集中的任一屬性,并且所述源對象的第二屬性與所述源對象的第一屬性不相同,所述第二預(yù)設(shè)標識與所述第一預(yù)設(shè)標識不相同。
[0014]進一步地,獲取所述源屬性的屬性值包括:定位所述源屬性的屬性值的獲取方式;以及調(diào)用所述獲取方式獲取到所述源屬性的屬性值。
[0015]進一步地,設(shè)置所述目標屬性的屬性值為所述源屬性的屬性值包括:定位所述目標屬性的屬性值的設(shè)置方式;以及調(diào)用所述設(shè)置方式將所述目標屬性的屬性值賦值為所述源屬性的屬性值。
[0016]根據(jù)本發(fā)明的另一方面,提供了一種日志輸出裝置。
[0017]根據(jù)本發(fā)明的日志輸出裝置包括:判斷單元,用于判斷源對象的屬性集中是否存在與目標對象的目標屬性相映射的源屬性,其中,所述源對象為輸出所述日志的應(yīng)用程序的入?yún)ο?,所述目標對象為輸出所述日志時使用到的對象,所述目標對象的屬性集與所述源對象的屬性集之間具有屬性映射關(guān)系,所述目標屬性為所述目標對象的屬性集中的屬性;獲取單元,用于在判斷出所述源對象的屬性集中存在與所述目標屬性相映射的源屬性的情況下,獲取所述源屬性的屬性值;以及第一設(shè)置單元,用于設(shè)置所述目標屬性的屬性值為所述源屬性的屬性值,得到格式化后的所述日志。
[0018]進一步地,所述日志輸出裝置還包括:第二設(shè)置單元,用于設(shè)置所述目標對象的屬性集與所述源對象的屬性集之間的屬性映射關(guān)系。
[0019]進一步地,所述第二設(shè)置單元包括:第一設(shè)置模塊,用于設(shè)置所述目標對象的第一屬性與所述源對象的第一屬性相映射,其中,所述目標對象的第一屬性為所述目標對象的屬性集中的任一屬性,所述源對象的第一屬性為所述源對象的屬性集中的任一屬性;以及第二設(shè)置模塊,用于設(shè)置所述目標對象的第二屬性與所述源對象的第二屬性相映射,其中,所述目標對象的第二屬性為所述目標對象的屬性集中的任一屬性,并且所述目標對象的第二屬性與所述目標對象的第一屬性不相同,所述源對象的第二屬性為所述源對象的屬性集中的任一屬性,并且所述源對象的第二屬性與所述源對象的第一屬性不相同。
[0020]進一步地,所述第二設(shè)置單元包括:第一標識模塊,用于標識所述目標對象的第一屬性和所述源對象的第一屬性均為第一預(yù)設(shè)標識,其中,所述目標對象的第一屬性為所述目標對象的屬性集中的任一屬性,所述源對象的第一屬性為所述源對象的屬性集中的任一屬性;以及第二標識模塊,用于標識所述目標對象的第二屬性和所述源對象的第二屬性均為第二預(yù)設(shè)標識,其中,所述目標對象的第二屬性為所述目標對象的屬性集中的任一屬性,并且所述目標對象的第二屬性與所述目標對象的第一屬性不相同,所述源對象的第二屬性為所述源對象的屬性集中的任一屬性,并且所述源對象的第二屬性與所述源對象的第一屬性不相同,所述第二預(yù)設(shè)標識與所述第一預(yù)設(shè)標識不相同。
[0021]進一步地,所述獲取單元包括:第一定位模塊,用于定位所述源屬性的屬性值的獲取方式;以及第一調(diào)用模塊,用于調(diào)用所述獲取方式獲取到所述源屬性的屬性值。
[0022]進一步地,所述第一設(shè)置單元包括:第二定位模塊,用于定位所述目標屬性的屬性值的設(shè)置方式;以及第二調(diào)用模塊,用于調(diào)用所述設(shè)置方式將所述目標屬性的屬性值賦值為所述源屬性的屬性值。
[0023]在本發(fā)明中,采用判斷源對象的屬性集中是否存在與目標對象的目標屬性相映射的源屬性,其中,所述源對象為輸出所述日志的應(yīng)用程序的入?yún)ο?,所述目標對象為輸出所述日志時使用到的對象,所述目標對象的屬性集與所述