1

在 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>

但这不起作用......这里有什么想法或建议吗?提前致谢!

4

2 回答 2

0

I guess, There are few ways you can do it:

  1. You can define your username in properties file and load your .properties file in logback.xml file.

    property resource="filename.properties"

    <username>${username}</username>
    <password>${password}</password>
    <to>${email1}</to>
    <from>${from}</from>
    
  2. You can use System variable like this in logback.xml file

    < property name="user" value="${username}"/>

于 2013-06-14T07:05:50.100 回答
0

<to>元素的变量替换应该有效。如果没有,那就是一个错误。您能否在我们的 jira 上创建一个新问题,以便解决此问题?

于 2013-05-30T13:29:05.830 回答