1 package pt.digitalis.dif.utils.logging;
2
3 import java.io.PrintWriter;
4 import java.io.StringWriter;
5
6 import pt.digitalis.dif.utils.mail.MailSender;
7 import pt.digitalis.dif.utils.mail.MailType;
8 import pt.digitalis.log.LogLevel;
9 import pt.digitalis.utils.common.StringUtils;
10
11
12
13
14
15 public class ErrorLogManagerDIFLoggerImpl implements IErrorLogManager {
16
17
18
19
20
21 public void logError(String applicationName, String processName, Exception e)
22 {
23
24 String errorMessage = "";
25 StringWriter errors = new StringWriter();
26 e.printStackTrace(new PrintWriter(errors));
27 errorMessage += "Exception: " + errors.toString() + "\n";
28
29 this.logError(applicationName, processName, errorMessage);
30 }
31
32
33
34
35
36 public void logError(String applicationName, String processName, String errorDescription)
37 {
38
39 DIFLogger.getLogger().error(
40 "AplicationName: " + applicationName + " - ProcessName: " + processName + " - ErrorDescription: "
41 + errorDescription);
42
43 if (!StringUtils.isBlank(LoggingConfiguration.getInstance().getErrorLogEmailAddress())
44 && !StringUtils.isBlank(LoggingConfiguration.getInstance().getErrorLogEmailBody())
45 && !StringUtils.isBlank(LoggingConfiguration.getInstance().getErrorLogEmailSubject()))
46 {
47 try
48 {
49 MailSender.getInstance().sendEmail(MailType.PLAIN_TEXT,
50 MailSender.getInstance().getConfiguration().getDefaultFromAddress(),
51 LoggingConfiguration.getInstance().getErrorLogEmailAddress(), null, null,
52 LoggingConfiguration.getInstance().getErrorLogEmailSubject(),
53 LoggingConfiguration.getInstance().getErrorLogEmailBody(), null, null, true);
54 }
55 catch (Exception e)
56 {
57 DIFLogger.getLogger().log(LogLevel.INFO, "Error sending Email in ErrorLogManager" + e);
58 }
59 }
60 }
61 }