繁体   English   中英

在log4j.properties文件中设置jvmargs

[英]Setting jvmargs in log4j.properties file

这有点奇怪的请求,但是我试图在log4j.properties文件中设置一些jvmargs。 目前,我使用ant来设置一些参数。

jvmarg value =“-Dmail.smtp.socketFactory.port = 465”

...但是最好将其中一些与日志记录相关的参数分组到.properties文件中。 有谁知道如何做到这一点?

提前致谢!

Log4j仅在JVM启动后才读取属性文件-这意味着它不会影响JVM参数。

如果您的示例来自您的实际情况,则可以通过编程方式为Java邮件设置此值...

SMTP协议提供程序支持以下属性,可以在JavaMail Session对象中设置这些属性。 这些属性始终设置为字符串。 “类型”列描述了如何解释字符串。 例如使用

  props.put("mail.smtp.port", "888"); 

http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html

上面的示例也适用于mail.smtp.socketFactory.port。

如果可以在JVM启动之后添加属性,则可以将属性添加到属性文件,该文件列出要添加到SystemProperties集合的所有属性,例如:

# property names of system properties
systemprops=mail.smtp.port mail.smtp.socketFactory.class

mail.smtp.port=465
mail.smtp.socketFactory.class=some.class

您的启动代码可以读取systemprops值,在空格上分割,然后将结果的属性列表添加到SystemProperties集合中,同时从属性集合中读取值。

这样,您的代码无需知道要添加到系统属性的属性,仅需知道要添加的属性是由systemprops属性定义的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM