Не удается найти файл журнала в папке журналов моего проекта в весеннем проекте mvc

Я использую log4j в своем весеннем проекте mvc и создаю файл журнала с log4j.properties в следующем.

# Root logger option
log4j.rootLogger= INFO, info, file, stdout, error

# Direct log messages to a log file [INFO]
log4j.appender.info=org.apache.log4j.DailyRollingFileAppender
log4j.appender.info.File=.logs\\mylog.log
log4j.appender.info.Threshold=INFO
log4j.appender.info.MaxFileSize=1Kb
log4j.appender.info.MaxBackupIndex=10
log4j.appender.info.DatePattern='.'yyyy-MM-dd
log4j.appender.info.layout=org.apache.log4j.PatternLayout
log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Я хочу, чтобы он хранился в папке myapp/logs в моем веб-приложении. какую часть я должен для файла.

вот каталог введите здесь описание изображения


person chetra tep    schedule 23.06.2015    source источник
comment
неактуальный тег удален   -  person talex    schedule 23.06.2015


Ответы (2)


Прямо сейчас он будет сохранен в текущем рабочем каталоге вашей IDE (я думаю, Eclipse или STS). Не рекомендуется помещать файл в структуру проекта, потому что эта структура не будет существовать после того, как вы развернете приложение в любом месте.

В Spring вы можете определить свойство в файле web.xml, чтобы сделать переменную местоположения:

<context-param>
  <param-name>webAppRootKey</param-name>
  <param-value>mywebapp.root</param-value>
</context-param>

Затем добавьте переменную в вашу конфигурацию:

log4j.appender.info.File=${mywebapp.root}/logs/mylog.log

Если вам нужно сохранить его в приложении, вы также можете определить это программно, используя из "ServletContext.getRealPath(".") чтобы узнать, где развернуто ваше приложение, а затем указать путь к файлу.

person Stefan    schedule 23.06.2015
comment
Я следую за вами, но в журналах папки до сих пор нет файла - person chetra tep; 23.06.2015
comment
Файл будет помещен в каталог журналов в вашем проекте на сервере, где вы развернули свое приложение. т.е. если вы используете Tomcat, загляните в каталог webapps. Если вы хотите, чтобы файл появился в папке вашего проекта Eclipse, вам нужно будет указать абсолютный путь. - person Stefan; 23.06.2015
comment
Можете ли вы сказать мне, как поставить абсолютный путь ?? - person chetra tep; 23.06.2015
comment
Конечно, просто измените эту строку: log4j.appender.info.File=C:/[PATH_TO_PROJECT_FOLDER]/logs/mylog.log - person Stefan; 23.06.2015
comment
есть ли вообще рядом с абсолютным путем? - person chetra tep; 23.06.2015

В обычном сценарии веб-приложение проверяет ваш файл журнала в корне вашего пути к классу. Чтобы загрузить файл из произвольного места, посмотрите сообщения ниже.

Изменить расположение log4j.properties

Как использовать пользовательский файл вместо log4j.properties

РЕДАКТИРОВАТЬ :

Из комментария оператора создайте файл журнала в пути к проектам, где вы разместили каталог журналов. вы можете просто указать его как ,

log4j.appender.file.File= logs/mylog.log
person Santhosh    schedule 23.06.2015
comment
нет, вы путаете мой вопрос. Я хочу знать, какой путь я должен указать в файле свойств, чтобы сохранить файл журнала, в котором записаны все журналы папки журнала, которые я обвел красным кругом на картинке. - person chetra tep; 23.06.2015
comment
О, извините, вы хотите поместить свой файл журнала в папку журналов, если я правильно понимаю? - person Santhosh; 23.06.2015
comment
Я поставил это, но журнал хранился в директоре eclipse, а не в папках журналов в моем проекте. - person chetra tep; 23.06.2015