मुझे किसी विशेष पैकेज के वर्गों के तरीकों तक पहुंचने पर जानकारी लॉग करने के लिए मेरे लॉगिंग पहलू को प्राप्त करने में समस्याएं आ रही हैं। दूसरे शब्दों में, "नहीं" लॉगिंग होती है। मैं भी निराश हो गया और कोई भाग्य के साथ System.out.println बयान जोड़ा।स्प्रिंग बूट लॉगर पहलू
मेरी कक्षाओं केसभी, org.my.package पैकेज के अंतर्गत स्थित हैं यानी org.my.package.controller, org.my.package.model, आदि
यहाँ है मेरे आवेदन वर्ग:
package org.my.package.config;
import org.deloitte.javatraining.daythree.utilities.MyLogger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Configuration
@EnableAspectJAutoProxy
@ComponentScan(basePackages = {"org.my.package.utilities"})
public class AssetConfig {
//-----------------------------------------------------------------------------------------------------------------------
@Bean
public MyLogger myLogger(){
return new MyLogger();
}
}
:
package org.my.package;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Configuration
@ComponentScan(basePackages = {"org.my.package.config"})
@EnableAutoConfiguration
@EnableAspectJAutoProxy
public class FirstWebAppApplication {
public static void main(String[] args) {
SpringApplication.run(FirstWebAppApplication.class, args);
}
}
यह मेरा विन्यास वर्ग है
यह मेरा पहलू वर्ग:
package org.my.package.utilities;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;
@Aspect
@Component
public class MyLogger {
/** Handle to the log file */
private final Log log = LogFactory.getLog(getClass());
public MyLogger() {}
@AfterReturning("execution(* org.my.package.*.*(..))")
public void logMethodAccessAfter(JoinPoint joinPoint) {
log.info("***** Completed: " + joinPoint.getSignature().getName() + " *****");
System.out.println("***** Completed: " + joinPoint.getSignature().getName() + " *****");
}
@Before("execution(* org.my.package.*.*(..))")
public void logMethodAccessBefore(JoinPoint joinPoint) {
log.info("***** Starting: " + joinPoint.getSignature().getName() + " *****");
System.out.println("***** Starting: " + joinPoint.getSignature().getName() + " *****");
}
}
ये मेरी Gradle निर्भरता का निर्माण कर रहे हैं:
dependencies {
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("org.springframework.boot:spring-boot-starter-web")
compile('com.h2database:h2:1.3.156')
compile('javax.servlet:jstl:1.2')
compile('org.springframework.boot:spring-boot-starter-aop')
providedRuntime("org.apache.tomcat.embed:tomcat-embed-jasper")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
मैं कुछ है या नहीं तो मेरी पहलू वर्ग गलत को विन्यस्त लापता हूँ? अन्य, समान स्टैक ओवरफ़्लो प्रश्न और ऑनलाइन ट्यूटोरियल के साथ सत्यापन करने के बाद, मुझे कुछ भी गलत नहीं मिल रहा है।
कृपया सलाह दें।
आप वर्तमान में 'org.my.package' में उप-पैकेजों में कक्षाओं पर मिलान करने वाले तरीकों से मेल नहीं खाते हैं। आप जो चाहते हैं वह है 'निष्पादन (* org.my.package .. *। * (..)) '' '' के बजाय '..' को नोटिस करें। –
* फेस-हथेली * धन्यवाद !! वह यह था। कृपया उत्तर के साथ उत्तर दें, इसलिए मैं आपको इस प्रश्न के लिए क्रेडिट दे सकता हूं। – Rick