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.
Моя окончательная структура проекта выглядит так, как это
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:
[code]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);
Поэтому я помещаю log4j.properties в другие ресурсы/src/main/resources и когда я сделал этот Netbeans, создал пакет по умолчанию с файлом внутри, как этот пакет по умолчанию/log4j-properties , и он сработал журналы, начинающие появляться в выводе, и все, что работало, хорошо, как и ожидалось.
Я попытался создать пакет с именем log4jresource внутри этого пути src/main/resources , но когда я это сделал, он прекратил работу, и ошибка снова показала, поэтому он есть способ поместить этот файл в эту папку, но без необходимости использовать пакет , что Netbean /> Я попытался сделать рефактор переименования пакета по умолчанию, но он показывает мне этот модуль ошибки JPA Refactoring, бросая java.lang.nullpointerException. Пожалуйста, сообщите об ошибке против модуля рефакторинга JPA и прикрепите свой var/log/messages.log. [/code]
Моя окончательная структура проекта выглядит так, как это
Я работаю над веб-приложением Maven, используя Spring MVC 4.2.5.RELEASE, я использую Netbeans IDE с GlassFishSErver 4.1, я хочу использовать log4j 1.2. 17, поэтому я создал файл log4j.properties, но похоже, что мой файл свойств не найден, потому что...
Проблема в том, что всякий раз, когда вы меняете log4j.properties/log4j.xml, вам необходимо перезапустить tomcat . Есть ли обходной путь перезагрузки конфигурации log4j?
Я думаю, что сделал что-то неправильно при подготовке среды.
У меня есть военный файл, и мне сказали, что он работает правильно. Когда я устанавливаю его на «CentOS Linux 7 (Core)» с Tomcat 10 и Java 21, я получаю следующее в catalina.out...
Я думаю, что сделал что-то неправильно при подготовке среды.
У меня есть военный файл, и мне сказали, что он работает правильно. Когда я устанавливаю его на «CentOS Linux 7 (Core)» с Tomcat 10 и Java 21, я получаю следующее в catalina.out...
При развертывании приложения laravel все выглядит нормально, и докер успешно собирается, но когда я пытаюсь получить доступ к корневой странице, все, что я вижу, это полностью пустой экран, хотя журналы кажутся в порядке?
Dockerfile:
FROM...