这是一个奇怪的请求,但我试图在log4j.properties文件中设置一些jvmargs。目前我使用ant来设置一些args ....
jvmarg value =“ - Dmail.smtp.socketFactory.port = 465”
...但是将这些日志记录相关参数中的一些分组到.properties文件中会很棒。有谁知道怎么做?
提前致谢!
答案 0 :(得分:1)
在 JVM已经启动之后,Log4j才会读取属性文件 - 这意味着它不会影响JVM参数。
答案 1 :(得分:0)
如果您的示例来自您的实际情况,那么您可以以编程方式为java邮件设置此值...
SMTP协议提供程序支持 以下属性,可能是 在JavaMail Session对象中设置。 属性始终设置为 串; Type列描述了如何 字符串被解释。对于 例如,使用
props.put("mail.smtp.port", "888");
http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html
上面的例子也适用于mail.smtp.socketFactory.port。
答案 2 :(得分:0)
如果可以在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属性定义的。