2013-10-17 7 views
1

Voici mon log4j.properties fichierlog4j de chemin relatif à créer le fichier journal

# Define the root logger with appender file 
log = D:/workspaces/Abhishek/Automation/MOPS/logs 
log4j.rootLogger = DEBUG, FILE 

# Define the file appender 
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.FILE.File=${log}/log.out 

# Define the layout for file appender 
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.conversionPattern=%d{ABSOLUTE} %5p - %m%n 

Cela ne travail pour moi seul problème est le chemin absolu je l'ai utilisé. Je veux utiliser le chemin relatif maintenant.

ci-dessous est ma structure de dossier

--src 
     --com 
     --log4j.properties 
--logs 
    --log.out file 

Donc, mon dossier journaux est en dehors du dossier src où log4j.properties est situé?

Comment puis-je définir un chemin relatif dans un tel cas. Dans le cas de jsp nous le faisons comme ../webpages/page.jsp. Comment peut-il être réalisé ici?

+0

Avez-vous trouvé une solution pour cela? J'ai aussi le même scénario (dossier logs en dehors de src). – silver

Répondre

2

vous pouvez passer la valeur dynamique comme celui-ci

{logfileLoc}/logs/file.log. 

dans votre cas que vous voulez dans le dossier du projet lui-même peut donc avoir -D (argument java ou équivalent) param comme -D logfileLoc = D:/espaces de travail/Abhishek, et vous pouvez accéder avec la variable logfileLoc. et pensez à changer cette valeur pour différents environnements.