Как настроить log4j в приложении Spring MVC, настроенном с аннотациями Java и с использованием файла log4j.propertiesJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как настроить log4j в приложении Spring MVC, настроенном с аннотациями Java и с использованием файла log4j.properties

Сообщение Anonymous »

I'm working on a Maven Web application using Spring MVC 4.2.5.RELEASE, I'm using Netbeans IDE with GlassFishSErver 4.1, I want to use log4j 1.2.17 so I created a log4j.properties file but it seems like my properties file it's not being found because I get the following error:

Код: Выделить всё

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.
< /code>

Я настроил свое пружинное приложение, используя аннотации Java Вот моя конфигурация < /p>

@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;
}
< /code>

} < /p>

Вот мой webinitializer < /p>

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");
}
}
< /code>

И вот мой контроллер < /p>

@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";
}
< /code>

И вот мой log4j.properties < /code> < /p>

# 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
< /code>

И я поместил этот log4j.properties в мою папку ресурсов, вот моя структура проекта < /p>

Редактировать: я не упомянул, что мой проект - это веб -приложение Maven, используя Spring
, и это моя структура проекта < /p>

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


Поэтому я помещаю log4j.properties в другие ресурсы/src/main/resources  и когда я сделал этот Netbeans, создал пакет по умолчанию  с файлом внутри, как этот пакет по умолчанию/log4j-properties , и он сработал журналы, начинающие появляться в выводе, и все, что работало, хорошо, как и ожидалось. 

Я попытался создать пакет с именем log4jresource  внутри этого пути src/main/resources , но когда я это сделал, он прекратил работу, и ошибка снова показала, поэтому он есть способ поместить этот файл в эту папку, но без необходимости использовать пакет , что Netbean />  Я попытался сделать рефактор переименования пакета по умолчанию, но он показывает мне этот модуль ошибки JPA Refactoring, бросая java.lang.nullpointerException. Пожалуйста, сообщите об ошибке против модуля рефакторинга JPA и прикрепите свой var/log/messages.log.  


Моя окончательная структура проекта выглядит так, как это

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


Подробнее здесь: https://stackoverflow.com/questions/361 ... a-annotati
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»