2013-06-13 3 views
0

Кто-нибудь попытался использовать ссылку log4j.xml в конфигурации сервиса WinRun4j. вот копия моего файла service.ini. Я пробовал много конфигураций. это только моя последняя попыткапытается использовать файл log4j.xml в WinRun4j

service.class=org.boris.winrun4j.MainService 
service.id=SimpleBacnetIpDataTransfer 
service.name=Simple Backnet IP DataTransfer Service 
service.description=This is the service for the Simple Backnet IP DataTransfer. 
service.startup=auto 

classpath.1=C:\Inbox\DataTransferClient-1.0-SNAPSHOT-jar-with-dependencies.jar 
classpath.2=WinRun4J.jar 
classpath.3=C:\Inbox\log4j-1.2.16.jar 

arg.1=C:\Inbox\DataTransferClient.xml 

log=C:\WinRun4J-Service\SimpleBacnetIpDataTransfer\NBP-DT-service.log 
log.overwrite=true 
log.roll.size=10MB 

[MainService] 
class=com.shiftenergy.ws.App 

vmarg.1=-Xdebug 
vmarg.2=-Xnoagent 
vmarg.3=-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n 
vmarg.4=-Dlog4j.configuration=file:C:\Inbox\log4j.xml 

в файле log4j.xml, есть ссылка на файл журнала для при запуске приложения. если я запустил java -jar -Dlog4j.configuration = file: C: \ Inbox \ log4j.xml ...., файл журнала создается соответствующим образом. если я зарегистрирую свою услугу и запустил службу, файл журнала не будет создан.

Кто-нибудь имел успех, используя конфигурацию -D log4j, используя winrun4j?

благодаря

ответ

0

Вы пробовали настройки путь в коде вместо:

System.setProperty("log4j.configurationFile", "config/log4j.xml"); 

Я использую относительный путь к папке с именем конфигурации, который содержит log4j.xml. Абсолютный путь не рекомендуется, но может работать.

Обязательно установите это перед выполнением любых вызовов в log4j, включая любые настройки конфигурации log4j или вызовы статического метода!

System.setProperty("log4j.configurationFile", "config/log4j.xml"); 
    final Logger log = Logger.getLogger(Main.class); 
    log.info("Starting up"); 
0

Я не указать путь log4j в ини файле, только помещенный файл log4j.xml в том же месте сосуд был помещен.

Также без указания

System.setProperty("log4j.configurationFile", "config/log4j.xml"); 

В проекте Java хранился в (SRC/основные/ресурсов) и будут включены в банке, но это не будет, что один используется при размещении вне баночка.

1

Я думаю, что вы указали параметр vmarg.4 некорректно. В вашем случае это должно быть как:

vmarg.4 = -Dlog4j.configurationFile = [путь для log4j.xml]

Я также использую то же самое и в моем случае, это отлично работает. Пожалуйста, смотрите ниже. Пример:

vmarg.1 = -Dlog4j.configurationFile = \ log4j2.xml