(LogRecord record)
| 119 | |
| 120 | |
| 121 | @Override |
| 122 | public String format(LogRecord record) { |
| 123 | StringBuilder sb = new StringBuilder(); |
| 124 | |
| 125 | // Timestamp |
| 126 | addTimestamp(sb, record.getMillis()); |
| 127 | |
| 128 | // Severity |
| 129 | sb.append(' '); |
| 130 | sb.append(record.getLevel().getLocalizedName()); |
| 131 | |
| 132 | // Thread |
| 133 | sb.append(' '); |
| 134 | sb.append('['); |
| 135 | sb.append(resolveThreadName(record)); |
| 136 | sb.append(']'); |
| 137 | |
| 138 | // Source |
| 139 | sb.append(' '); |
| 140 | sb.append(record.getSourceClassName()); |
| 141 | sb.append('.'); |
| 142 | sb.append(record.getSourceMethodName()); |
| 143 | |
| 144 | // Message |
| 145 | sb.append(' '); |
| 146 | sb.append(LogUtil.escape(formatMessage(record))); |
| 147 | |
| 148 | // New line for next record |
| 149 | sb.append(System.lineSeparator()); |
| 150 | |
| 151 | // Stack trace |
| 152 | if (record.getThrown() != null) { |
| 153 | StringWriter sw = new StringWriter(); |
| 154 | PrintWriter pw = new IndentingPrintWriter(sw); |
| 155 | record.getThrown().printStackTrace(pw); |
| 156 | pw.close(); |
| 157 | sb.append(LogUtil.escape(sw.toString())); |
| 158 | } |
| 159 | |
| 160 | return sb.toString(); |
| 161 | } |
| 162 | |
| 163 | /** |
| 164 | * Resolves the thread name for a log record, handling async handler cases. |
nothing calls this directly
no test coverage detected