[英]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.