基礎元件 統一服務日誌切面

2022-06-08 16:45:11 字數 1764 閱讀 8799

<

dependency

>

<

groupid

>org.springframework.boot

groupid

>

<

artifactid

>spring-boot-starter-aop

artifactid

>

dependency

>

/**

* @author

: gabriel

* @date: 2020/1/28 22:08

* @description 服務日誌切面 */

@slf4j

@aspect

@component

public

class

syslogaspect

/**控制器方法切點

*/@pointcut("execution(* com.gabriel.stage.controller.*controller.*(..))")

public

void

methodpointcut()

public object logaround(proceedingjoinpoint pjd)throws

throwable

trycatch

(exception e)

}string concatparam =sb.tostring();

if (concatparam.length()>0)

//記錄請求

log.info(string.format("【%s】類的【%s】方法,請求引數:%s",classname,methodname,concatparam));

//執行服務方法-環繞通知能決定是否執行目標方法,且返回值與目標方法的返回值一致

object response =pjd.proceed();

watch.stop();

//記錄應答

log.info(string.format("【%s】類的【%s】方法,返回引數:%s",classname,methodname,json.tojsonstring(response)));

//獲取執行完的時間

log.info(string.format("介面【%s】總耗時(毫秒):%s", methodname, watch.gettotaltimemillis()));

system.out.println("spring aop方式記錄標準請求-應答模型服務日誌");

//請求引數

object request=null

;

if(arrayutil.isnotempty(requestparamarray))

result result =(result) response;

//記錄日誌

//todo 可以記錄入庫

string msg = string.format("請求:%s*****=響應:%s*****=總耗時(毫秒):%s", json.tojsonstring(request),

json.tojsonstring(response), watch.gettotaltimemillis());

if (result.getstatus()==resultcode.success.getcode())

else

return

response;

}}

springCloud 統一服務配置

config server 是乙個看橫向擴充套件的,集中式的配置伺服器,它用於集中管理應用程式各個環境下配置,預設使用git儲存配置內容。config client 是乙個config server的客戶端,用於操作儲存在config server上的配置屬性,所有微服務都指向config serv...

MySQL日誌服務 一 服務日誌

mysql中包含了許多日誌服務,這些日誌分別記錄了使用者對資料庫的不同的操作,以及mysql的各種狀態和異常,熟悉這些日誌,在自己的資料庫出現問題的時候檢視相關的日誌可以幫助你準確的定位問題,及時解決。我們先來看一下,mysql都有哪一些日誌 server層日誌 由mysql自身實現 錯誤日誌 er...

面向切面程式設計例項 統一日誌管理

面向切面程式設計是對物件導向的一種補充,當我們在處理許多功能共有的需求時 系統需求 例如 日誌管理,許可權檢查,事務管理的時候都可以使用aop.它簡單方便而且耦合度極低。這裡展示一下日誌管理 我們需要在使用者訪問一些方法時,列印出日誌 component aspect 宣告這是乙個切面元件 publ...