使用到切面,引入依賴
org.springframework.boot
spring-boot-starter-aop
使用環繞通知,編寫切面類
package com.imooc.aspect;
import org.aspectj.lang.proceedingjoinpoint;
import org.aspectj.lang.annotation.around;
import org.aspectj.lang.annotation.aspect;
import org.slf4j.logger;
import org.slf4j.logge***ctory;
import org.springframework.stereotype.component;
/** 記錄每個service所需要的時間
* */
@aspect
@component
public class servicelogaspect 代表佔位符 {}.{} 類名.方法名
log.info("***** 開始執行 {}.{}*****",joinpoint.gettarget().getclass(),
joinpoint.getsignature().getname());
//開始記錄時間
long start=system.currenttimemillis();
//執行方法
object result = joinpoint.proceed();
//結束記錄時間
long end=system.currenttimemillis();
long taketime=end-start;
if(taketime>3000)毫秒 *****",taketime);
}else if(taketime>2000)毫秒 *****",taketime);
}else毫秒 *****",taketime);
}return result;
}}
通過日誌監控service的執行時間
就是監控service的執行時間 如果大於規定的時間 也就是你寫的 不符合規範 首先匯入相關的依賴 org.springframework.boot spring boot starter aop 然後建立乙個aspect包 然後在下面建立servicelogaspect類 package com....
通過shell指令碼監控日誌切換頻率
在資料庫遇到效能問題的時候,可能從io,cpu等角度能夠下手找到效能瓶頸,日誌的切換也是影響效能的乙個因素,如果日誌切換臺頻繁,等待時間就會在日誌相關的事件上,從資料庫的角度來說,肯定是io的瓶頸。可以通過如下的shell指令碼來得到乙個簡單的報告。指令碼如下 sqlplus s db conn s...
service的日誌處理
日誌相關 1.journald管理日誌 預設情況下,systemd 的日誌儲存在 run log journal 中,系統重啟就會清除,這是rhel7的新特性。通過新建 var log journal 目錄,日誌會自動記錄到這個目錄中,並永久儲存。配置檔案 etc systemd journald....