Skip to content
Snippets Groups Projects
Commit 830908b6 authored by srosse's avatar srosse
Browse files

OO-3609: fix the feedback process for errors after changes on patterns

parent 449ff0b4
No related branches found
No related tags found
No related merge requests found
...@@ -74,7 +74,7 @@ public class ErrorFeedbackMailer implements Dispatcher { ...@@ -74,7 +74,7 @@ public class ErrorFeedbackMailer implements Dispatcher {
} }
/** /**
* send email to olat support with user submitted error informaition * send email to support with user submitted error information
* *
* @param request * @param request
*/ */
...@@ -105,7 +105,6 @@ public class ErrorFeedbackMailer implements Dispatcher { ...@@ -105,7 +105,6 @@ public class ErrorFeedbackMailer implements Dispatcher {
} }
} catch (Exception e) { } catch (Exception e) {
handleException(request, e); handleException(request, e);
return;
} }
} }
...@@ -116,10 +115,6 @@ public class ErrorFeedbackMailer implements Dispatcher { ...@@ -116,10 +115,6 @@ public class ErrorFeedbackMailer implements Dispatcher {
+ username + " with content: " + feedback, e); + username + " with content: " + feedback, e);
} }
/**
* @see org.olat.core.dispatcher.Dispatcher#execute(javax.servlet.http.HttpServletRequest,
* javax.servlet.http.HttpServletResponse, java.lang.String)
*/
@Override @Override
public void execute(HttpServletRequest request, HttpServletResponse response) { public void execute(HttpServletRequest request, HttpServletResponse response) {
sendMail(request); sendMail(request);
......
...@@ -194,8 +194,8 @@ public class ExceptionWindowController extends DefaultChiefController { ...@@ -194,8 +194,8 @@ public class ExceptionWindowController extends DefaultChiefController {
msg.contextPut("username", curIdent == null? "n/a" : curIdent.getKey()); msg.contextPut("username", curIdent == null? "n/a" : curIdent.getKey());
msg.contextPut("allowBackButton", Boolean.valueOf(allowBackButton)); msg.contextPut("allowBackButton", Boolean.valueOf(allowBackButton));
msg.contextPut("detailedmessage", detailedmessage); msg.contextPut("detailedmessage", detailedmessage);
// Cluster NodeId + E-Nr // Cluster request reference number
msg.contextPut("errnum", Settings.getNodeInfo() + "-E"+ refNum); msg.contextPut("errnum", "I" + refNum + "-J");
msg.contextPut("supportaddress", WebappHelper.getMailConfig("mailError")); msg.contextPut("supportaddress", WebappHelper.getMailConfig("mailError"));
msg.contextPut("time", formatter.formatDateAndTime(new Date())); msg.contextPut("time", formatter.formatDateAndTime(new Date()));
......
...@@ -146,20 +146,9 @@ public class LogFileParser { ...@@ -146,20 +146,9 @@ public class LogFileParser {
* @param s * @param s
* @return errormsg * @return errormsg
*/ */
private static String extractError(String s[]) { private static String extractError(String[] s) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder(2048);
if (s.length == 8) {
if (s.length == 6) {
// before refactoring of logging.Tracing
sb.append("Date: " + Formatter.truncate(s[0].trim(), 20) + "\n");
sb.append("Error#: " + s[1].trim() + "\n");
sb.append("Identity: " + s[3].trim() + "\n");
sb.append("Category/Class: " + s[2].trim() + "\n");
sb.append("Log msg: " + s[4].trim() + "\n");
sb.append("Cause: "
+ s[5].trim().replaceAll(" at ", "\nat ").replaceAll(">>>", "\n>>>") + "\n");
} else if (s.length == 9) {
// the new Tracing
sb.append("Date: " + Formatter.truncate(s[0].trim(), 20) + "\n"); sb.append("Date: " + Formatter.truncate(s[0].trim(), 20) + "\n");
sb.append("Error#: " + s[1].trim() + "\n"); sb.append("Error#: " + s[1].trim() + "\n");
sb.append("Identity: " + s[3].trim() + "\n"); sb.append("Identity: " + s[3].trim() + "\n");
...@@ -167,11 +156,11 @@ public class LogFileParser { ...@@ -167,11 +156,11 @@ public class LogFileParser {
sb.append("Remote IP: " + s[4].trim() + "\n"); sb.append("Remote IP: " + s[4].trim() + "\n");
sb.append("Referer: " + s[5].trim() + "\n"); sb.append("Referer: " + s[5].trim() + "\n");
sb.append("User-Agent: " + s[6].trim() + "\n"); sb.append("User-Agent: " + s[6].trim() + "\n");
sb.append("Log msg: " + s[7].trim() + "\n"); sb.append("Exception: " + s[7].trim().replaceAll(" at ", "\nat ").replaceAll(">>>", "\n\n"));
sb.append("Cause: "
+ s[8].trim().replaceAll(" at ", "\nat ").replaceAll(">>>", "\n\n"));
} else { } else {
throw new AssertException("Unknown Logfile format"); for(String st:s) {
sb.append("Raw msg: " + st + "\n");
}
} }
return sb.toString(); return sb.toString();
} }
...@@ -208,10 +197,10 @@ public class LogFileParser { ...@@ -208,10 +197,10 @@ public class LogFileParser {
String line; String line;
String line2; String line2;
String memoryline = "empty"; String memoryline = "empty";
String em[] = new String[10]; String[] em = new String[10];
Collection<String> errormsg = new ArrayList<String>(); Collection<String> errormsg = new ArrayList<>();
SimpleDateFormat sdb = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdb = new SimpleDateFormat("dd MM yyyy");
String logfilepath; String logfilepath;
if(date == null) { if(date == null) {
...@@ -235,8 +224,7 @@ public class LogFileParser { ...@@ -235,8 +224,7 @@ public class LogFileParser {
return errormsg; return errormsg;
} }
try { try(BufferedReader br = new BufferedReader(new FileReader(logFile))) {
BufferedReader br = new BufferedReader(new FileReader(logFile));
while ((line = br.readLine()) != null) { while ((line = br.readLine()) != null) {
if (counter == 0) { if (counter == 0) {
errormsg.add(line); errormsg.add(line);
...@@ -247,7 +235,7 @@ public class LogFileParser { ...@@ -247,7 +235,7 @@ public class LogFileParser {
} else if ( line.matches(matchError) || line.matches(matchWarn) ) { } else if ( line.matches(matchError) || line.matches(matchWarn) ) {
line2 = line.replaceAll("[/^]", "/"); line2 = line.replaceAll("[/^]", "/");
em = line2.split("/%/"); em = line2.split("/%/");
if (errorNumber.equals(em[1].trim())) { if (em[1].trim().startsWith(errorNumber)) {
founderror++; founderror++;
if (asHTML) { if (asHTML) {
line2 = extractErrorAsHTML(em); line2 = extractErrorAsHTML(em);
...@@ -262,14 +250,11 @@ public class LogFileParser { ...@@ -262,14 +250,11 @@ public class LogFileParser {
} }
memoryline = line; memoryline = line;
} }
br.close();
if (founderror > 0) { if (founderror > 0 && counter < linecount) {
if (counter < linecount) { while (counter > 0) {
while (counter > 0) { errormsg.add("empty");
errormsg.add("empty"); counter--;
counter--;
}
} }
} }
......
...@@ -8,6 +8,10 @@ ...@@ -8,6 +8,10 @@
<PatternLayout <PatternLayout
pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %marker %c{1} ^%%^ N${sys:nodeId}-R%X{ref}-M%sn ^%%^ %logger{36} ^%%^ %X{identityKey} ^%%^ %X{ip} ^%%^ %X{referer} ^%%^ %X{userAgent} ^%%^ %msg%ex{full,separator( )}%n" /> pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %marker %c{1} ^%%^ N${sys:nodeId}-R%X{ref}-M%sn ^%%^ %logger{36} ^%%^ %X{identityKey} ^%%^ %X{ip} ^%%^ %X{referer} ^%%^ %X{userAgent} ^%%^ %msg%ex{full,separator( )}%n" />
--> -->
<!-- This pattern is used on OpenOLAT cloud
<PatternLayout
pattern="%d{dd MMM yyyy HH:mm:ss.SSS} [%t] %-5level %marker %c{1} ^%%^ I%X{ref}-J%sn ^%%^ %logger{36} ^%%^ %X{identityKey} ^%%^ %X{ip} ^%%^ %X{referer} ^%%^ %X{userAgent} ^%%^ %msg%ex{full,separator( )}%n" />
-->
</Console> </Console>
</Appenders> </Appenders>
<Loggers> <Loggers>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment