我试图将Spring和Maven添加到我现有的项目之一,我发现无论我如何配置,日志记录似乎都不受我的控制.
我尝试将log4j.properties放在src / main / java和src / main / resources中(实际上我不知道放在哪里).
但是当我使用Log4j进行日志记录时,日志只显示在控制台中,尽管我将其配置为文件.
我的log4j.properties就像:
log4j.rootLogger=DEBUG,A1
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.encoding=utf-8
log4j.appender.A1.File=E:\Programminglog\debug.log
log4j.appender.A1.Threshold = DEBUG
log4j.appender.A1.Append=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
我不确定我是否遗漏了某些东西或Spring覆盖了一些设置,因为我是Maven和Spring的新手.
PS:在我在pom.xml中添加Log4j的依赖项之前,虽然我使用org.apache.log4j.Logger但没有编译错误
这就是我的application.java的样子:
@Configuration
@EnableAutoConfiguration
@ComponentScan({"hello","wodinow.weixin.jaskey"})
public class Application extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(Application.class,args);
System.out.println("Let's inspect the beans provided by Spring Boot:");
String[] beanNames = ctx.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
LogUtil.info("Application Boots!");// here this line does not show in the file
}
@Bean
public CommandService commandService(){
return CommandService.getInstance();
}
}
最佳答案
如果您使用带有spring-boot的log4j,则必须在pom.xml中添加“exclusions”依赖项
请关注此.它会解决你的问题.
http://www.atechref.com/blog/maven/spring-boot-using-log4j-logging/