SpringBoot 集成Aop日志管理

1、在resource目錄里新增log4j.properties

##

#log4j.rootLogger=CONSOLE,info,error,DEBUG

log4j.rootLogger=info,error,CONSOLE,DEBUG

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n

log4j.logger.info=info

log4j.appender.info=org.apache.log4j.DailyRollingFileAppender

log4j.appender.info.layout=org.apache.log4j.PatternLayout

log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n

log4j.appender.info.datePattern='.'yyyy-MM-dd

log4j.appender.info.Threshold =info

log4j.appender.info.append=true

#log4j.appender.info.File=/home/admin/pms-api-services/logs/info/api_services_info

log4j.appender.info.File=/Users/dddd/Documents/testspace/pms-api-services/logs/info/api_services_info

log4j.logger.error=error

log4j.appender.error=org.apache.log4j.DailyRollingFileAppender

log4j.appender.error.layout=org.apache.log4j.PatternLayout

log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n

log4j.appender.error.datePattern='.'yyyy-MM-dd

log4j.appender.error.Threshold =error

log4j.appender.error.append=true

#log4j.appender.error.File=/home/admin/pms-api-services/logs/error/api_services_error

log4j.appender.error.File=/Users/dddd/Documents/testspace/pms-api-services/logs/error/api_services_error

log4j.logger.DEBUG=DEBUG

log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender

log4j.appender.DEBUG.layout=org.apache.log4j.PatternLayout

log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] - %m%n

log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd

log4j.appender.DEBUG.Threshold =DEBUG

log4j.appender.DEBUG.append=true

#log4j.appender.DEBUG.File=/home/admin/pms-api-services/logs/debug/api_services_debug

log4j.appender.DEBUG.File=/Users/dddd/Documents/testspace/pms-api-services/logs/debug/api_services_debug

##


2爽锥、在pom里引入aop


3疑苫、創(chuàng)建切面類

其中Logger? 引入的是import org.slf4j.Logger;

HttpServletRequest引入的是import javax.servlet.http.HttpServletRequest;

##

package com.itmayidu.app;

import org.aspectj.lang.JoinPoint;

import org.aspectj.lang.annotation.*;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.stereotype.Component;

import org.springframework.web.context.request.RequestContextHolder;

import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;

import java.util.Enumeration;

/**

* Created by Damon on 2018/6/26_9:45.

*

* @Descrption:

*/

@Component

@Aspect

public class WebLogAspect {

//引入log

? ? private Loggerlogger = LoggerFactory.getLogger(getClass());

//定義切點(diǎn)

? ? @Pointcut("execution(public * com.itmayidu.controller.IndexController.*(..))")

public void webLog(){}

//服務(wù)器處理請(qǐng)求之前操作日志

? ? @Before("webLog()")

public void doBefore(JoinPoint joinPoint) {

//接收到請(qǐng)求熏版,記錄請(qǐng)求內(nèi)容

? ? ? ? ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();

HttpServletRequest request = attributes.getRequest();

//記錄請(qǐng)求全路徑

? ? ? ? logger.info("URL={}", request.getRequestURL());

//Get還是Post等

? ? ? ? logger.info("HTTP_METHOD={}", request.getMethod());

//請(qǐng)求地址

? ? ? ? logger.info("IP={}" ,request.getRemoteAddr());

//RemoteUser

? ? ? ? logger.info("RemoteUser={}", request.getRemoteUser());

//遠(yuǎn)程地址

? ? ? ? logger.info("RemoteHost={}",request.getRemoteHost());

//RemotePort

? ? ? ? logger.info("RemotePort={}",request.getRemotePort());

//請(qǐng)求中的參數(shù)

? ? ? ? logger.info("args={}",joinPoint.getArgs());

//拼出切面類和具體的方法

? ? ? ? logger.info("class_method={}" ,joinPoint.getSignature().getDeclaringTypeName() +"."+joinPoint.getSignature().getName());

//用枚舉列出參數(shù)集合,遍歷

? ? ? ? Enumeration enu = request.getParameterNames();

while(enu.hasMoreElements()){

String name = enu.nextElement();

logger.info("name={},value={}",name,request.getParameter(name));

}

}

//

? ? @After("webLog()")

public? void doAfter(){

logger.info("服務(wù)器全部完事了....");

}

//

? ? @AfterReturning(returning ="object" , pointcut ="webLog()")

public void doAfterReturning(Object object) {

logger.info("Response={}" ,object);

}

}

##




4捍掺、這樣訪問IndexController就會(huì)進(jìn)入到日志管理




?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撼短,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挺勿,更是在濱河造成了極大的恐慌曲横,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件不瓶,死亡現(xiàn)場(chǎng)離奇詭異禾嫉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)蚊丐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門熙参,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吠撮,你說我怎么就攤上這事尊惰。” “怎么了泥兰?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵弄屡,是天一觀的道長。 經(jīng)常有香客問我鞋诗,道長膀捷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任削彬,我火速辦了婚禮全庸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘融痛。我一直安慰自己壶笼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布雁刷。 她就那樣靜靜地躺著覆劈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上责语,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天炮障,我揣著相機(jī)與錄音,去河邊找鬼坤候。 笑死胁赢,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的白筹。 我是一名探鬼主播智末,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼遍蟋!你這毒婦竟也來了吹害?” 一聲冷哼從身側(cè)響起螟凭,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤虚青,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后螺男,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棒厘,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年下隧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了奢人。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淆院,死狀恐怖何乎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情土辩,我是刑警寧澤支救,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站拷淘,受9級(jí)特大地震影響各墨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜启涯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一贬堵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧结洼,春花似錦黎做、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春伟桅,著一層夾襖步出監(jiān)牢的瞬間敞掘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工楣铁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留玖雁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓盖腕,卻偏偏與公主長得像赫冬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子溃列,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容