【问题标题】:Does Logback SMTPAppender support environment variables?Logback SMTPAppender 是否支持环境变量?
【发布时间】:2013-05-30 12:42:52
【问题描述】:

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

我不想硬编码 &lt;to&gt;john.smith@example.com&lt;/to&gt; 字段,而是希望它获取运行 Java 应用程序的任何帐户/机器的本地用户名。例如,如果我的 Ubuntu 用户名是 ticketMonster,那么我希望 &lt;to&gt; 字段为:

<to>ticketMonster@example.com</to>

或者如果我的操作系统用户名是bgates,我希望它是:

<to>bgates@example.com</to>

因此,我正在寻找 动态 用户名评估。我试过了:

<to>${username}@example.com</to>

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

【问题讨论】:

  • 一种解决方案是使用JoranConfigurator 以编程方式配置您的附加程序。
  • 变量替换应该可以工作。您使用的是哪个版本的 logback?

标签: java logging logback smtpappender


【解决方案1】:

&lt;to&gt; 元素的变量替换应该可以工作。如果没有,那就是一个错误。能否请您创建一个新问题on our jira 以便修复此问题?

【讨论】:

    【解决方案2】:

    我猜,有几种方法可以做到:

    1. 您可以在属性文件中定义您的用户名,并在 logback.xml 文件中加载您的 .properties 文件。

      属性资源="文件名.properties"

      <username>${username}</username>
      <password>${password}</password>
      <to>${email1}</to>
      <from>${from}</from>
      
    2. 您可以在 logback.xml 文件中使用这样的系统变量

    【讨论】:

      猜你喜欢
      • 2014-05-26
      • 2018-12-17
      • 2017-04-17
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      相关资源
      最近更新 更多