摘要:本文使用環(huán)境如何使用導(dǎo)入包將官網(wǎng)提供的包導(dǎo)入項(xiàng)目配置文件在項(xiàng)目配置文件中配置如下內(nèi)容即可生效生成日志文件運(yùn)行項(xiàng)目后將在根目錄下生成的文件。
本文使用環(huán)境
win7
Idea 14.1.4
jfinal 2.0
1.jfinal如何使用log4ja.導(dǎo)入jar包
將官網(wǎng)提供的log4j.jar包導(dǎo)入項(xiàng)目
b.配置文件
在項(xiàng)目配置文件(project/src/log4j.properties)中配置如下內(nèi)容即可生效:
log4j.rootLogger=INFO, stdout, file log4j.appender.stdout.Target=System.out log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n # Output to the File log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=./myapp.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n # Druid log4j.logger.druid.sql=warn,stdout log4j.logger.druid.sql.DataSource=warn,stdout log4j.logger.druid.sql.Connection=warn,stdout log4j.logger.druid.sql.Statement=debug,stdout log4j.logger.druid.sql.ResultSet=warn,stdout
c.生成日志文件
運(yùn)行項(xiàng)目后將在project根目錄下生成myapp.log的文件。2.jfinal 異常記錄到log4j 2.1 擴(kuò)展異常類(lèi)ExceptionIntoLogInterceptor
package interceptor; import com.jfinal.aop.Interceptor; import com.jfinal.aop.Invocation; import com.jfinal.core.JFinal; import com.jfinal.log.Logger; /** * 異常處理日志 全局?jǐn)r截器 * Created by rener on 2015/12/7. */ public class ExceptionIntoLogInterceptor implements Interceptor { private static final Logger log = Logger.getLogger(ExceptionIntoLogInterceptor.class); @Override public void intercept(Invocation invocation){ //Controller controller=invocation.getController(); //HttpServletRequest request=controller.getRequest(); try{ invocation.invoke(); //一定要注意,把處理放在invoke之后,因?yàn)榉旁谥暗脑?huà),是會(huì)空指針 }catch (Exception e){ //log 處理 logWrite(invocation, e); }finally { //記錄日志到數(shù)據(jù)庫(kù),暫未實(shí)現(xiàn) try{ }catch (Exception ee){ } } } private void logWrite(Invocation inv,Exception e){ //開(kāi)發(fā)模式 if (JFinal.me().getConstants().getDevMode()){ e.printStackTrace(); } StringBuilder sb =new StringBuilder(" ---Exception Log Begin--- "); sb.append("Controller:").append(inv.getController().getClass().getName()).append(" "); sb.append("Method:").append(inv.getMethodName()).append(" "); sb.append("Exception Type:").append(e.getClass().getName()).append(" "); sb.append("Exception Details:"); log.error(sb.toString(),e); } }2.2 配置AppConfig.java中的configInterceptor注冊(cè)全局?jǐn)r截
@Override public void configInterceptor(Interceptors interceptors){ //全局?jǐn)r截器,對(duì)所有請(qǐng)求攔截 //添加控制層全局?jǐn)r截器 //interceptors.addGlobalActionInterceptor(new GlobalActionInterceptor()); interceptors.addGlobalActionInterceptor(new ExceptionIntoLogInterceptor()); //添加業(yè)務(wù)層全局?jǐn)r截器 //interceptors.addGlobalServiceInterceptor(new GlobalServiceInterceptor()); interceptors.addGlobalServiceInterceptor(new ExceptionIntoLogInterceptor()); //兼容老版jfinal寫(xiě)法 //interceptors.add(new GlobalActionInterceptor()); }
啟用項(xiàng)目后,發(fā)生異常將記錄到日志文件。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64756.html
摘要:是國(guó)產(chǎn)的框架,由五大部分組成。本文通過(guò)一個(gè)例子上手,旨在熟悉中各組件的用法。指的是表名,指的是主鍵數(shù)據(jù)庫(kù)連接池使用的是,還支持。默認(rèn)訪(fǎng)問(wèn)方法,這點(diǎn)類(lèi)似于如果之前有基礎(chǔ),上手會(huì)非常快。映射在上使用了校驗(yàn)攔截器,使用了權(quán)限攔截器。 JFinal是國(guó)產(chǎn)的MVC框架,由 Handler、Interceptor、Controller、Render、Plugin 五大部分組成。本文通過(guò)一個(gè)例子上手...
摘要:和沖突,去掉對(duì)支持,標(biāo)記為棄用。初始化插件初始化插件設(shè)置為異步,默認(rèn)同步,或者使用自定義線(xiàn)程池。為子類(lèi)排序,數(shù)值越小越先執(zhí)行,默認(rèn)為異步執(zhí)行,需要插件開(kāi)啟或者自定義線(xiàn)程池。 說(shuō)明 JFinal-event 2.x 參考 Spring 4.2.x 中 Event 的使用方式而生,為 JFinal 用戶(hù)帶來(lái)更多方便。其核心目標(biāo)是深層次解耦,為您節(jié)約更多時(shí)間,去陪戀人、家人和朋友 :) 年初...
摘要:本文要來(lái)分享給大家程序員最常用的日志框架組件。沒(méi)有基礎(chǔ)的同學(xué)也不要著急,這套教程覆蓋了目前所有的日志框架,只要你學(xué),就一定用得到,先收藏,以備不時(shí)之需。 作為一名Java程序員,我們開(kāi)發(fā)了很多Java應(yīng)用程序,包括桌面應(yīng)用、WEB應(yīng)用以及移動(dòng)應(yīng)用。然而日志系統(tǒng)是一個(gè)成熟Java應(yīng)用所必不可少的。在開(kāi)發(fā)和調(diào)試階段,日志可以幫...
摘要:今天在配置日志的時(shí)候,發(fā)現(xiàn)日志重復(fù)打印的問(wèn)題。把配置文件修改成如下日志控制臺(tái)日志級(jí)別日志級(jí)別日志級(jí)別日志通過(guò)以上配置模板即可解決各級(jí)別日志重復(fù)打印的問(wèn)題。 今天在配置Log4j日志的時(shí)候,發(fā)現(xiàn)日志重復(fù)打印的問(wèn)題。網(wǎng)上查了很多資料,發(fā)現(xiàn)介紹Log4j配置的文章數(shù)量不少,但提到這個(gè)問(wèn)題的文章卻寥寥,解決了自己的問(wèn)題以后,趕緊記錄一下。 原文地址:http://www.jianshu.com...
摘要:建議只使用四個(gè)級(jí)別,優(yōu)先級(jí)從高到低分別是。比如在這里定義了級(jí)別,只有等于及高于這個(gè)級(jí)別的才進(jìn)行處理,則應(yīng)用程序中所有級(jí)別的日志信息將不被打印出來(lái)??赏瑫r(shí)指定多個(gè)輸出目的地。 一直感覺(jué)到log4j是使用比較混亂,今天抽空整理一下,以后方便使用 一、引用apache.log4j 使用maven進(jìn)行l(wèi)o4j的引用 log4j log4j 1.2.17 其他版本也...
閱讀 1648·2021-10-12 10:11
閱讀 3764·2021-09-03 10:35
閱讀 1446·2019-08-30 15:55
閱讀 2137·2019-08-30 15:54
閱讀 1004·2019-08-30 13:07
閱讀 1018·2019-08-30 11:09
閱讀 584·2019-08-29 13:21
閱讀 2655·2019-08-29 11:32