我使用自定义gmail smtp appendar从我的Gmail帐户发送错误日志.
按照说明:http://www.tgerm.com/2010/05/log4j-smtpappender-gmail-custom.html – 一切都很好.
除了一件事:
在我的log4j.properties中:我不想输入我的密码“log4j.appender.EMAIL.SMTPPassword = somepass”,以便我可以与我的队友分享这个项目.有没有人有建议?
以下是log4j.properties部分:
log4j.appender.EMAIL=com.tgerm.log4j.appender.GmailSMTPAppender
log4j.appender.EMAIL.SMTPHost=smtp.gmail.com
log4j.appender.EMAIL.SMTPDebug=true
log4j.appender.EMAIL.From=from@gmail.com
log4j.appender.EMAIL.To=to@tgerm.com
log4j.appender.EMAIL.SMTPUsername=smtpuser@gmail.com
log4j.appender.EMAIL.SMTPPassword=somepass //this is the problematic part
log4j.appender.EMAIL.Subject=Email Notification from Gmail SMTP Appender
log4j.appender.EMAIL.cc=cc@gmail.com
log4j.appender.EMAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.EMAIL.layout.ConversionPattern=%p %t %c - %m%n
log4j.appender.EMAIL.BufferSize=1
解决方法:
对于初学者:不要使用您的个人电子邮件地址 – 创建一个与您的团队成员共享的新帐户.
如果您仍想加密,请将加密信息放在单独的属性或xml文件中,编写代码以对其进行加密和解密,并以编程方式配置log4j的该部分.
(并且,正如下面的gdt所述,请记住,如果应用程序可以解密密码,其他人也可以解密.没有100%安全的解决方案.保护文件访问权限通常比加密更有效.)