So konfigurieren Sie log4j in einer Spring Mvc-Anwendung, die mit Java-Annotationen konfiguriert ist und eine log4j.propJava

Java-Forum
Anonymous
 So konfigurieren Sie log4j in einer Spring Mvc-Anwendung, die mit Java-Annotationen konfiguriert ist und eine log4j.prop

Post by Anonymous »

Ich arbeite an einer Maven-Webanwendung mit Spring MVC 4.2.5.RELEASE, ich verwende Netbeans IDE mit GlassFishSErver 4.1, ich möchte log4j 1.2.17 verwenden, also habe ich eine log4j.properties-Datei erstellt, aber es scheint, als würde meine Eigenschaftendatei nicht gefunden, weil ich die folgende Fehlermeldung erhalte:

Code: Select all

log4j:WARN No appenders could be found for logger (org.springframework.web.servlet.DispatcherServlet).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Ich habe meine Spring-Anwendung mithilfe von Java-Annotationen konfiguriert, hier ist meine Konfiguration

Code: Select all

@Configuration
@EnableWebMvc
@ComponentScan({"config", "controllers"})
public class ConfigMVC extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/WEB-INF/resources/");
}

@Bean
public UrlBasedViewResolver setupViewResolver() {
UrlBasedViewResolver resolver = new UrlBasedViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
resolver.setViewClass(JstlView.class);
return resolver;
}
}

hier ist mein WebInitializer

Code: Select all

public class WebInicializar implements WebApplicationInitializer {

@Override
public void onStartup(ServletContext servletContext) throws ServletException {
AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();
ctx.register(ConfigMVC.class);
ctx.setServletContext(servletContext);
Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));
servlet.addMapping("/");
servlet.setLoadOnStartup(1);
servlet.setInitParameter("throwExceptionIfNoHandlerFound", "true");
}
}
und hier ist mein Controller

Code: Select all

@Controller
public class HomeController {

private static final Logger logger = Logger.getLogger(HomeController.class);

@RequestMapping(value = "/myPage", method = RequestMethod.GET)
public String paginaSinMap(ModelMap map) {

logger.info("This is an info log entry");
logger.error("This is an error log entry");

return "myPage";
}
und hier sind meine log4j.properties

Code: Select all

# LOG4J configuration
log4j.rootLogger=INFO, Appender1, Appender2

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n

log4j.appender.Appender2=org.apache.log4j.FileAppender
log4j.appender.Appender2.File=D:/Logs/SpringMVC.log
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c %x - %m%n
und ich habe diese log4j.properties in meinem Ressourcenordner abgelegt, hier ist meine Projektstruktur

BEARBEITEN: Ich habe nicht erwähnt, dass mein Projekt eine Maven-Webanwendung mit Spring ist
und das ist meine Projektstruktur

Code: Select all

MyWebAppProjectName
--Web Pages
--WEB-INF
--jsp
index.jsp
--resources
--js
js.js
--css
site.css
log4j.properties
--Source Packages
--config
ConfigMVC.java
WebInitializaer.java
--controllers
HomeController.java
--Test Packages
--Other Resources
--src/main/resources
--default package
--Dependencies
--Java Dependencies
--Project FIles
Also habe ich die log4j.properties in „Other Resources/src/main/resources“ abgelegt und als ich das gemacht habe, hat Netbeans ein Standardpaket mit der darin enthaltenen Datei wie dieses Standardpaket/log4j-properties erstellt und es hat funktioniert, die Protokolle wurden in der Ausgabe angezeigt und alles funktionierte wie erwartet einwandfrei.
Es zeigt mir diesen Fehler. Modul JPA Refactoring hat java.lang.NullPointerException ausgelöst. Bitte melden Sie einen Fehler im JPA-Refactoring-Modul und hängen Sie Ihr var/log/messages.log an.

Meine endgültige Projektstruktur sieht so aus

Code: Select all

MyWebAppProjectName
--Web Pages
--WEB-INF
--jsp
index.jsp
--resources
--js
js.js
--css
site.css
log4j.properties
--Source Packages
--config
ConfigMVC.java
WebInitializaer.java
--controllers
HomeController.java
--Test Packages
--Other Resources
--src/main/resources
--default package
--log4j.properties
--Dependencies
--Java Dependencies
--Project FIles

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post