MCPcopy Create free account
hub / github.com/PCGen/pcgen / format

Method format

code/src/java/pcgen/util/SourceLogFormatter.java:37–99  ·  view source on GitHub ↗
(LogRecord record)

Source from the content-addressed store, hash-verified

35 private static final Pattern JAVA_EXT_PATTERN = Pattern.compile("\\.java");
36
37 @Override
38 public String format(LogRecord record)
39 {
40 StringBuilder sb = new StringBuilder();
41
42 sb.append(LocalDateTime.now(Clock.systemUTC()));
43
44 sb.append(SEPERATOR);
45 sb.append(record.getLevel());
46 sb.append(SEPERATOR);
47 sb.append(Thread.currentThread().getName());
48 sb.append(SEPERATOR);
49
50 // Pick out the caller from the stack trace, ignoring the
51 // logging classes themselves
52 StackTraceElement[] stack = new Throwable().getStackTrace();
53 StackTraceElement caller = null;
54
55 for (int i = 1; i < stack.length; i++) //1 to skip this method
56 {
57 if (!stack[i].getClassName().startsWith("pcgen.util.Logging")
58 && !stack[i].getClassName().startsWith("java.util.logging")
59 && !stack[i].getClassName().startsWith("pcgen.system.LoggingRecorder"))
60 {
61 caller = stack[i];
62 break;
63 }
64 }
65
66 if (caller != null)
67 {
68 if (caller.getLineNumber() >= 0)
69 {
70 sb.append(JAVA_EXT_PATTERN.matcher(caller.getFileName()).replaceFirst(""));
71 sb.append(':');
72 sb.append(caller.getLineNumber());
73 }
74 else
75 {
76 sb.append(caller.getClassName());
77 sb.append(' ');
78 sb.append(caller.getMethodName());
79 }
80 }
81
82 sb.append(SEPERATOR);
83
84 sb.append(formatMessage(record));
85
86 if (record.getThrown() != null)
87 {
88 sb.append('\n');
89 StringWriter sw = new StringWriter();
90 PrintWriter pw = new PrintWriter(sw);
91 record.getThrown().printStackTrace(pw);
92 pw.flush();
93 sb.append(sw);
94 }

Callers 15

scanForUnusedKeysMethod · 0.80
setUpMethod · 0.80
runTestMethod · 0.80
initializeMethod · 0.80
testHelpArgsMethod · 0.80
toFormulaMethod · 0.80
unparseMethod · 0.80
getTokenMethod · 0.80
getChronicleValueMethod · 0.80
getSquaresTokenMethod · 0.80
getSquaresTokenMethod · 0.80
getTokenMethod · 0.80

Calls 7

getLineNumberMethod · 0.80
getNameMethod · 0.65
toStringMethod · 0.65
appendMethod · 0.45
getLevelMethod · 0.45
getFileNameMethod · 0.45
flushMethod · 0.45

Tested by 5

scanForUnusedKeysMethod · 0.64
setUpMethod · 0.64
runTestMethod · 0.64
initializeMethod · 0.64
testHelpArgsMethod · 0.64