Log4j semble ne pas fonctionner au Printemps de Démarrage
J'ai essayé d'ajouter Spring
et Maven
à l'une de mes projets, et je trouve que peu importe comment je le configurer, l'enregistrement semble être hors de mon contrôle.
J'ai essayé de mettre le log4j.properties
dans src/main/java
et src/main/resources
(en Fait je ne sais pas où les mettre).
Mais quand j'utilise Log4j
au journal, le journal affiche dans la console, mais je configurer un fichier.
Mon log4j.properties
est comme:
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
Je ne suis pas sûr si j'ai raté quelque chose ou Spring
remplace certains paramètres, depuis que je suis de nouveau à Maven
et Spring
.
PS: Avant que je ajouter des dépendances de Log4j
dans pom
.xml,pas d'erreurs de compilation que j'utilise org.apache.log4j.Logger
C'est la façon dont ma application.java ressemble:
@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();
}
}
J'utilise printemps intégrer tomcat, je lance mon Application.java comme application java au démarrage de mon application. BTW, j'ai aussi copier que les propriétés en webapp/WEB-INF, mais pas de chance 🙁
log4j.les propriétés doivent être disponibles sur le chemin de classe. Le répertoire WEB-INF n'est pas (normalement) sur le chemin de classe. Si vous exécutez votre application avec
-Dlog4j.debug
sur la ligne de commande, vous découvrirez ce que log4j pense qui se passe (si quoi que ce soit).Pourriez-vous svp me donner l'intégralité de la commande comment faire pour exécuter mon application avec-Dlog4j.debug? BTW, j'utilise le Printemps de démarrage, je ne sais pas ce qu'il a fait quelque chose..
OriginalL'auteur Jaskey | 2014-10-28
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez log4j avec spring-boot puis vous devez ajouter des dépendances avec des "exclusions" dans votre pom.xml
Veuillez suivre ce. Il permettra de résoudre votre problème.
http://www.atechref.com/blog/maven/spring-boot-using-log4j-logging/
OriginalL'auteur Rahul sharma
Je suis tombé sur ce problème précis, il s'est avéré que le printemps démarrage comprend Printemps de Démarrage Démarreur de Journalisation et d'ignorer tout ce que vous ajoutez tandis que qui est toujours là. J'ai été en mesure de le réparer en double-cliquant sur mon pompon et en cliquant sur le Printemps-Amorçage-Starter-Journalisation, puis en sélectionnant "modifier les points de départ, puis retirer le ressort de démarrage démarreur de journalisation.
Si vous utilisez un autre type de dépendance du système de gestion de l'idée est la même, il suffit d'examiner attentivement tout ce qui ressort de démarrage inclus dans votre projet et assurez-vous que log4J est le seul système d'enregistrement inclus.
OriginalL'auteur barnesjon
Mise à JOUR
(À partir de: Printemps De Démarrage De Référence, Chapitre 25 De Journalisation)
Donc, soit vous configurez votre journalisation via logback
logback.xml
ou vous incluez le log4j libs. (quand vous avez besoin de plus d'aide avec notamment la lib alors postez votre pom.xml)Je vous conseille d'utiliser logback (et slf4j)
VIEUX:
log4j.properties
fichier danssrc\main\resources
(pas dans...\java
)log4j.properties
(dans votre question, vous avez nommé le fichierlog4j.propertie
)web.xml
web.xml:
(@voir L'initialisation de Log4J avec le Printemps?)
avez-vous comprendre cela? Je suis confronté au même problème avec spring-boot.
OriginalL'auteur Ralph