日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用Spring配置LogBack日志记录

發布時間:2023/12/3 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Spring配置LogBack日志记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LogBack是由Log4j的同一作者創建的用于記錄日志的API(較新的實現,它類似于新版本),在本文中,我將展示如何在Spring項目中對其進行集成和使用。

在本教程中,我假設您正在使用一個簡單的Spring ROO項目,該項目將為您準備項目的所有結構,有關更多信息,請參見: http : //www.springsource.org/spring-roo 。

首先,您需要在src / main / resources中創建logback.xml (保存配置附加程序,如log4j.properprties):


<?xml version="1.0" encoding="UTF-8"?><configuration><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d %5p | %t | %-55logger{55} | %m %n</pattern></encoder></appender><logger name="test.myapp.repos"><level value="INFO" /></logger><logger name="org.springframework"><level value="INFO" /></logger><root><level value="INFO" /><appender-ref ref="CONSOLE" /></root></configuration>

第二步是配置Maven依賴項并添加LogBack所需的庫:

<-- Properties Settings --><properties><roo.version>1.1.0.RELEASE</roo.version><spring.version>3.0.5.RELEASE</spring.version><aspectj.version>1.6.10</aspectj.version><slf4j.version>1.6.1</slf4j.version><logback.version>0.9.26</logback.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><-- Dependencies Settings --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.16</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>jcl-over-slf4j</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-access</artifactId><version>${logback.version}</version></dependency>

您需要擺脫由Spring ROO生成的Maven pom.xml中的所有Log4j依賴關系,在添加提供的用于設置LogBack的代碼之前,清除與日志記錄相關的每個依賴關系。

為了在正在開發的類上使用記錄器,您需要創建它的靜態實例并在使用Log4J時正常使用,唯一的區別是LogBack與Log4j的實現和配置代碼。 在Logback.xml上,必須掃描您的類以使記錄器正常工作。

package test.myapp.repos; /*This package figures on LogBack.xml*/import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class MyTestClass {static Logger logger = LoggerFactory.getLogger(ItemController.class);...public void create(String args) {logger.debug("My Args Is => " + args);}...} 還有另一種將記錄器注入Spring Bean的復雜方法,這可以通過開發自定義BeanPostProcessor來實現,該方法將自動將Logger注入帶有@Log的字段(這是我們創建的自定義注釋),而不是手動實例化如前所述的記錄器。 /** Custom @Logger annotation **/@Retention(RUNTIME)@Target(FIELD)@Documentedpublic @interface Log { }/** LoggerPostProcessor => Custom Spring BeanPostProcessor **/public class LoggerPostProcessor implements BeanPostProcessor {public Object postProcessAfterInitialization(Object bean, String beanName) throwsBeansException {return bean;}public Object postProcessBeforeInitialization(final Object bean, String beanName)throws BeansException {ReflectionUtils.doWithFields(bean.getClass(), new FieldCallback() {@SuppressWarnings("unchecked")public void doWith(Field field) throws IllegalArgumentException,IllegalAccessException {ReflectionUtils.makeAccessible(field);//Check if the field is annoted with @Logif (field.getAnnotation(Log.class) != null) {Log logAnnotation = field.getAnnotation(Log.class);Logger logger = LoggerFactory.getLogger(bean.getClass());field.set(bean, logger);}}});return bean;}}/** Usage on a Spring Bean **/@Componentpublic class MyBeanImpl implements MyBean {/** Not manual set up code **/@Log Logger myLogger;...}

最后要做的是在您的applicationContext.xml文件中聲明這個新的BeanPostProcessor:

<!-- The Logger Injector --><bean id="LogginInjector" class="ma.oncf.achat.utils.LoggerPostProcessor" />

有關為什么切換到LogBack的更多信息,請參閱: 為什么切換到LogBack 。

參考:來自Fancy UI博客的JCG合作伙伴 Idriss Mrabti使用Spring配置LogBack Logging 。

相關文章 :

  • Spring 3.1和Hibernate的持久層
  • 使用Spring和Java泛型簡化數據訪問層
  • Spring陷阱:事務測試被認為是有害的
  • Log4j,Stat4j,SMTPAppender集成–匯總錯誤日志以發送太多電子郵件
  • Java日志混亂
  • 正確記錄應用程序的10個技巧
  • 首先記錄異常的根本原因

翻譯自: https://www.javacodegeeks.com/2011/12/configure-logback-logging-with-spring.html

總結

以上是生活随笔為你收集整理的使用Spring配置LogBack日志记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。