是否有人尝试在WinRun4j服务配置中使用log4j.xml引用。这是我的service.ini文件的副本。我尝试了许多配置组合。这只是我最近的一次尝试
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 ...,就会相应地创建日志文件。如果我注册我的服务并启动该服务,则不会创建日志文件。
有没有人通过winrun4j成功地使用了-D log4j配置?
谢谢
发布于 2018-01-17 20:18:56
我认为您提供的vmarg.4参数不正确。在你的例子中,它必须是这样的:
vmal.4=-Dlog4j.configuration文件= log4j.xml路径
我也在使用相同的方法,在我的情况下,它工作得非常好。请参考下面的示例:
vmarg.1=-Dlog4j.configurationFile=.\log4j2.xml
发布于 2013-11-19 04:18:46
您是否尝试过在代码中设置路径:
System.setProperty("log4j.configurationFile", "config/log4j.xml");我使用的是包含log4j.xml的名为config的文件夹的相对路径。不推荐使用绝对路径,但也可以使用。
只需确保在调用log4j之前设置此参数,包括任何log4j配置设置或静态方法调用!
System.setProperty("log4j.configurationFile", "config/log4j.xml");
final Logger log = Logger.getLogger(Main.class);
log.info("Starting up");发布于 2017-04-20 14:23:00
我没有在ini文件中指定log4j路径,只是在放置jar的位置放置了log4j.xml文件。
同样没有指定
System.setProperty("log4j.configurationFile", "config/log4j.xml");在Java项目中,它存储在(src/main/resources)中,并将包含在jar中,但如果将它放在jar之外,则不会使用它。
https://stackoverflow.com/questions/17087615
复制相似问题