在Logback SMTPAppender
的定义中,您可以指定电子邮件配置信息,如下所示:
<smtpHost>my.smtp.host</smtpHost>
<to>john.smith@example.com</to>
<from>no-reply@example.com</from>
<username>my_smtp_user</username>
<password>my_smtp_password</password>
<subject>%logger{20} - %m</subject>
我希望它不是硬编码<to>john.smith@example.com</to>
字段,而是选择运行Java应用程序的任何帐户/机器的本地用户名。例如,如果我的Ubuntu用户名为ticketMonster
,那么我希望<to>
字段为:
<to>ticketMonster@example.com</to>
或者如果我的操作系统用户名是bgates
,我希望它是:
<to>bgates@example.com</to>
因此,我正在寻找动态用户名评估。我试过了:
<to>${username}@example.com</to>
但这不起作用......这里有任何想法或建议吗?提前谢谢!
答案 0 :(得分:0)
<to>
元素的变量替换应该有效。如果没有,那就是一个bug。您能否请创建一个新问题on our jira以便解决此问题?
答案 1 :(得分:0)
我猜,你可以采用几种方法:
您可以在属性文件中定义用户名,并在.backback.xml文件中加载.properties文件。
property resource =“filename.properties”
<username>${username}</username>
<password>${password}</password>
<to>${email1}</to>
<from>${from}</from>
您可以在logback.xml文件中使用这样的System变量
&LT; property name =“user”value =“$ {username}”/&gt;