版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
chapter2
SpringAOP講師:齊毅
開發(fā)借款人銷售系統(tǒng)日志掌握Spring面向切面編程(AOP)掌握Log4J設(shè)計(jì)模式:代理模式AspectOrientedProgramming(AOP),面向切面編程ApplyInfoServiceAOP中的概念Joinpoint(連接點(diǎn)):程序執(zhí)行時(shí)的某個(gè)特定的點(diǎn),在Spring中就是某一個(gè)方法的執(zhí)行
Pointcut(切點(diǎn)):說的通俗點(diǎn),spring中AOP的切點(diǎn)就是指一些方法的集合,而這些方法
是需要被增強(qiáng)、被代理的。一般都是按照一定的約定規(guī)則來表示的,如正則表達(dá)式等。切點(diǎn)是
由一類連接點(diǎn)組成。
Advice(通知):還是說的通俗點(diǎn),就是在指定切點(diǎn)上要干些什么。
開發(fā)借款人銷售系統(tǒng)日志通知的類型前置通知(BeforeAdvice)返回后通知(Afterreturningadvice)拋出異常后通知(Afterthrowingadvice)后通知(After(finally)advice)環(huán)繞通知(AroundAdvice)使用配置方式開發(fā)AOP1.編寫切面類LogAspect2.配置切面3.測(cè)試切面運(yùn)行使用Annotation配置AOPAOP注解:@Aspect@Component@PointCut@Before@After@AfterReturning@AfterThrowing@AroundLog4JLog4j是Apache的一個(gè)開放源代碼項(xiàng)目,通過使用Log4j,我們可以控制日志信息輸送的目的地是控制臺(tái)、文件、GUI組件,甚至是套接口服務(wù)器、NT的事件記錄器、UNIX
Syslog守護(hù)進(jìn)程等;我們也可以控制每一條日志的輸出格式;通過定義每一條日志信息的級(jí)別,我們能夠更加細(xì)致地控制日志的生成過程。最令人感興趣的就是,這些可以通過一個(gè)配置文件來靈活地進(jìn)行配置,而不需要修改應(yīng)用的代碼。Log4j默認(rèn)配置為classpath下perties文件Lperties范例log4j.rootLogger=DEBUG,CONSOLElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutlog4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-ddHH\:mm\:ss}%5p[%c%13F\:%L]-%m%nLog4jRootLoogerlog4j.rootLogger=[level],appenderName1,appenderName2,…
level:設(shè)定日志記錄的最低級(jí)別,可設(shè)的值有OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或自定義的級(jí)別,Log4j建議只使用中間四個(gè)級(jí)別。通過在這里設(shè)定級(jí)別,您可以控制應(yīng)用程序中相應(yīng)級(jí)別的日志信息的開關(guān),比如在這里設(shè)定了INFO級(jí)別,則應(yīng)用程序中所有DEBUG級(jí)別的日志信息將不會(huì)被打印出來。appenderName:就是指定日志信息要輸出到哪里??梢酝瑫r(shí)指定多個(gè)輸出目的地,用逗號(hào)隔開例如:log4j.rootLogger=INFO,A1,B2,C3log4j.appender.[appenderName]=[className]appenderName:自定義appderName,在log4j.rootLogger設(shè)置中使用;className:可設(shè)值如下:(1)org.apache.log4j.ConsoleAppender(控制臺(tái))(2)org.apache.log4j.FileAppender(文件)(3)org.apache.log4j.DailyRollingFileAppender(每天產(chǎn)生一個(gè)日志文件)(4)org.apache.log4j.RollingFileAppender(文件大小到達(dá)指定尺寸的時(shí)候產(chǎn)生一個(gè)新的文件)(5)org.apache.log4j.WriterAppender(將日志信息以流格式發(fā)送到任意指定的地方)ConsoleAppender選項(xiàng):Threshold=WARN:指定日志信息的最低輸出級(jí)別,默認(rèn)為DEBUG。ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出,默認(rèn)值是trueTarget=System.err:默認(rèn)值是System.out。FileAppender選項(xiàng):Threshold=WARN:指定日志信息的最低輸出級(jí)別,默認(rèn)為DEBUG。ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出,默認(rèn)值是true。Append=false:true表示消息增加到指定文件中,false則將消息覆蓋指定的文件內(nèi)容,默認(rèn)值是true。File=D:/logs/logging.log4j:指定消息輸出到logging.log4j文件中。DailyRollingFileAppender選項(xiàng):Threshold=WARN:指定日志信息的最低輸出級(jí)別,默認(rèn)為DEBUG。ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出,默認(rèn)值是true。Append=false:true表示消息增加到指定文件中,false則將消息覆蓋指定的文件內(nèi)容,默認(rèn)值是true。File=D:/logs/logging.log4j:指定當(dāng)前消息輸出到logging.log4j文件中。DatePattern='.'yyyy-MM:每月滾動(dòng)一次日志文件,即每月產(chǎn)生一個(gè)新的日志文件。當(dāng)前月的日文件名為logging.log4j,前一個(gè)月的日志文件名為logging.log4j.yyyy-MM。另外,也可以指定按周、天、時(shí)、分等來滾動(dòng)日志文件,對(duì)應(yīng)的格式如下:
1)'.'yyyy-MM:每月
2)'.'yyyy-ww:每周
3)'.'yyyy-MM-dd:每天
4)'.'yyyy-MM-dd-a:每天兩次
5)'.'yyyy-MM-dd-HH:每小時(shí)
6)'.'yyyy-MM-dd-HH-mm:每分鐘RollingFileAppender選項(xiàng):Threshold=WARN:指定日志信息的最低輸出級(jí)別,默認(rèn)為DEBUG。ImmediateFlush=true:表示所有消息都會(huì)被立即輸出,設(shè)為false則不輸出,默認(rèn)值是true。Append=false:true表示消息增加到指定文件中,false則將消息覆蓋指定的文件內(nèi)容,默認(rèn)值是true。File=D:/logs/logging.log4j:指定消息輸出到logging.log4j文件中。MaxFileSize=100KB:后綴可以是KB,MB或者GB。在日志文件到達(dá)該大小時(shí),將會(huì)自動(dòng)滾動(dòng),即將原來的內(nèi)容移到logging.log4j.1文件中。MaxBackupIndex=2:指定可以產(chǎn)生的滾動(dòng)文件的最大數(shù),例如,設(shè)為2則可以產(chǎn)生logging.log4j.1,logging.log4j.2兩個(gè)滾動(dòng)文件和一個(gè)logging.log4j文件。配置日志信息的輸出格式(Layout):log4j.appender.appenderName.layout=classNameclassName:可設(shè)值如下:(1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)(2)org.apache.log4j.PatternLayout(可以靈活地指定布局模式)(3)org.apache.log4j.SimpleLayout(包含日志信息的級(jí)別和信息字符串)(4)org.apache.log4j.TTCCLayout(包含日志產(chǎn)生的時(shí)間、線程、類別等等信息)(1)HTMLLayout選項(xiàng):LocationInfo=true:輸出java文件名稱和行號(hào),默認(rèn)值是false。Title=MyLogging:默認(rèn)值是Log4JLogMessages。(2)PatternLayout選項(xiàng):ConversionPattern=%m%n:設(shè)定以怎樣的格式顯示消息。格式化符號(hào)說明:%p:輸出日志信息的優(yōu)先級(jí),即DEBUG,INFO,WARN,ERROR,F(xiàn)ATAL。%d:輸出日志時(shí)間點(diǎn)的日期或時(shí)間,默認(rèn)格式為ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/ddHH:mm:ss,SSS}。%r:輸出自應(yīng)用程序啟動(dòng)到輸出該log信息耗費(fèi)的毫秒數(shù)。%t:輸出產(chǎn)生該日志事件的線程名。%l:輸出日志事件的發(fā)生位置,相當(dāng)于%c.%M(%F:%L)的組合,包括類全名、方法、文件名以及在代碼中的行數(shù)。例如:test.TestLog4j.main(TestLog4j.java:10)。%c:輸出日志信息所屬的類目,通常就是所在類的全名。%M:輸出產(chǎn)生日志信息的方法名。%F:輸出日志消息產(chǎn)生時(shí)所在的文件名稱。%L::輸出代碼中的行號(hào)。%m::輸出代碼中指定的具體日志信息。%n:輸出一個(gè)回車換行符,Windows平臺(tái)為"/r/n",Unix平臺(tái)為"/n"。%x:輸出和當(dāng)前線程相關(guān)聯(lián)的NDC(嵌套診斷環(huán)境),尤其用到像javaservlets這樣的多客戶多線程的應(yīng)用中。%%:輸出一個(gè)"%"字符。另外,還可以在%與格式字符之間加上修飾符來控制其最小長(zhǎng)度、最大長(zhǎng)度、和文本的對(duì)齊方式。如:1)%20c:指定輸出category的名稱,最小的長(zhǎng)度是20,如果category的名稱長(zhǎng)度小于20的話,默認(rèn)的情況下右對(duì)齊。2)%-20c:"-"號(hào)表示左對(duì)齊。3)%.30c:指定輸出ca
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020-2025年中國(guó)漢堡行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2024-2030年中國(guó)注射用鹽酸納洛酮行業(yè)市場(chǎng)深度分析及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 2025年中國(guó)裙子行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 課程設(shè)計(jì)體會(huì)和改進(jìn)意見
- 2020-2025年中國(guó)自動(dòng)駕駛重卡行業(yè)投資研究分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 2025年中國(guó)金融行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 2025年中國(guó)感冒藥行業(yè)市場(chǎng)運(yùn)行現(xiàn)狀及投資規(guī)劃建議報(bào)告
- 2025年中國(guó)教輔出版行業(yè)市場(chǎng)深度分析及投資策略咨詢報(bào)告
- 2022-2027年中國(guó)機(jī)器人線纜行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及投資戰(zhàn)略研究報(bào)告
- 食工課程設(shè)計(jì)
- 急診與災(zāi)難醫(yī)學(xué)課件 03 呼吸困難大課何琳zhenshi
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復(fù)
- 《國(guó)際市場(chǎng)營(yíng)銷》案例
- GB/T 37518-2019代理報(bào)關(guān)服務(wù)規(guī)范
- GB/T 156-2017標(biāo)準(zhǔn)電壓
- PPT溝通的藝術(shù)課件
- 內(nèi)科學(xué):巨幼細(xì)胞性貧血課件
- 暑假家校聯(lián)系情況記錄表
- 周計(jì)劃工作安排日程表Excel模板
- Q∕GDW 12155-2021 國(guó)家電網(wǎng)有限公司應(yīng)急指揮信息系統(tǒng)技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論