2013-04-09 49 views
3

我正在使用自定义gmail smtp appendar从我的Gmail帐户发送错误日志。 遵循指示:http://www.tgerm.com/2010/05/log4j-smtpappender-gmail-custom.html - 一切正常。 除了一件事: 在我的log4j.properties中:我不想输入我的密码“log4j.appender.EMAIL.SMTPPassword = somepass”,以便我可以与我的队友分享这个项目。有没有人有建议?在log4j.properties文件中隐藏或加密密码SMTP Appender

下面是log4j.properties部分:

log4j.appender.EMAIL=com.tgerm.log4j.appender.GmailSMTPAppender 
log4j.appender.EMAIL.SMTPHost=smtp.gmail.com 
log4j.appender.EMAIL.SMTPDebug=true 
[email protected] 
[email protected] 
[email protected] 
log4j.appender.EMAIL.SMTPPassword=somepass //this is the problematic part 
log4j.appender.EMAIL.Subject=Email Notification from Gmail SMTP Appender 
[email protected] 
log4j.appender.EMAIL.layout=org.apache.log4j.PatternLayout 
log4j.appender.EMAIL.layout.ConversionPattern=%p %t %c - %m%n 
log4j.appender.EMAIL.BufferSize=1 

回答

5

对于初学者:请不要使用您的个人电子邮件地址 - 创建一个新帐户与您的团队成员共享。

如果您仍然想要加密,请将加密的信息放在单独的属性或xml文件中,编写代码对其进行加密和解密,然后以编程方式配置该部分的log4j。

(而且,正如GDT下面说,记住,如果应用程序可以解密密码,别人能过,没有100%安全的解决方案。保护文件的访问权限往往比加密更有效。)

+0

还要记住,如果你加密你的密码,解密它是非常微不足道的。在Java调试器中浏览项目将相当迅速地向任何感兴趣的人展示给它,而不仅仅是粗略的外观。 – gdt 2013-04-09 19:27:18

+0

对,这是永远必须记住的事情。 – theglauber 2013-04-09 19:35:48

0
  1. 创建一个可共享的服务电子邮件帐户(不是个人)。

  2. 要隐藏密码,请在适当的文件中指定它,但在第一次运行后,读取它,加密并回写到属性文件。