Как создать журнал в определенном месте при использовании log4j в настольном приложении Java - PullRequest
9 голосов
/ 26 сентября 2011

Я использую log4j в Eclipse для регистрации сообщений в настольном приложении java. Я хочу, чтобы журнал создавался в определенной папке (в частности, в папке, содержащей исходную папку 'src' и папку классов 'bin').

Можно ли установить это в log4j.properties? Как убедиться, что журнал создается только в этом месте?

Ответы [ 4 ]

27 голосов
/ 26 сентября 2011

Я бы пошел с ответом Сакета.Но вместо жесткого определения местоположения всегда лучше иметь относительный путь.

Если вы запустили ваше приложение из метода main из класса, называемого Launcher, например, и это структура вашего каталога Eclipse Project:

Java Project
   src
   bin

Тогда просто укажите ваше местоположение как1006 *

 log4j.appender.R.File=./log/Logfile.log

Это создаст файл в журнале каталога:

Java Project
   src
   bin
   log
     LogFile.log

Надеюсь, вы его получили ..:)

7 голосов
/ 26 сентября 2011

Если вы используете RollingFileAppender , вы можете установить что-то подобное в вашем файле log4j.properties (ниже я устанавливаю C:/myapp/src/mylog.log в качестве моего целевого местоположения - вы можете изменить его на желаемое местоположение) :

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=C:/myapp/src/mylog.log
... (other configurations)
...
0 голосов
/ 12 ноября 2018

Создавать журнал в папке проекта нехорошо, так как он становится все больше и больше по размеру. Скорее вы можете создать его в пользовательском каталоге, из которого запущено ваше приложение.

Например: должно быть $ {user.home} /appName/MyWEB.log, пользователь обычно имеет право писать в домашнем каталоге

работает как для Windows, так и для среды Linux.

0 голосов
/ 26 сентября 2011

Да, это можно установить в файле свойств. Один пример:

log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.File=D:/myapp/mylog.log
log4j.appender.rollingFile.MaxFileSize=2MB
log4j.appender.rollingFile.MaxBackupIndex=2
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%p %t %c - %m%n

log4j.appender.rollingFile.File = D: /myapp/mylog.log можно изменить на любой путь на диске.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...