feat: implement in-memory log buffer, add ICP-Brasil seal assets, and improve SDK parameter handling
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
package br.com.cybercore.signer.app.log;
|
||||
|
||||
import br.com.cybercore.signer.core.log.AppLogBuffer;
|
||||
import ch.qos.logback.classic.spi.ILoggingEvent;
|
||||
import ch.qos.logback.core.AppenderBase;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* Appender do Logback que intercepta eventos reais de log e os encaminha para o buffer em memória.
|
||||
*/
|
||||
public class InMemoryLogAppender extends AppenderBase<ILoggingEvent> {
|
||||
|
||||
private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||
|
||||
@Override
|
||||
protected void append(ILoggingEvent eventObject) {
|
||||
if (eventObject == null) return;
|
||||
|
||||
LocalDateTime time = LocalDateTime.ofInstant(
|
||||
Instant.ofEpochMilli(eventObject.getTimeStamp()),
|
||||
ZoneId.systemDefault()
|
||||
);
|
||||
String timestamp = time.format(FORMATTER);
|
||||
String level = eventObject.getLevel().toString();
|
||||
String loggerName = eventObject.getLoggerName();
|
||||
if (loggerName != null && loggerName.length() > 30) {
|
||||
int lastDot = loggerName.lastIndexOf('.');
|
||||
if (lastDot > 0) {
|
||||
loggerName = loggerName.substring(lastDot + 1);
|
||||
}
|
||||
}
|
||||
String message = eventObject.getFormattedMessage();
|
||||
|
||||
String line = String.format("[%s] [%s] %s - %s", timestamp, level, loggerName, message);
|
||||
AppLogBuffer.append(line);
|
||||
}
|
||||
}
|
||||
@@ -6,8 +6,11 @@
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="MEMORY" class="br.com.cybercore.signer.app.log.InMemoryLogAppender" />
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="CONSOLE" />
|
||||
<appender-ref ref="MEMORY" />
|
||||
</root>
|
||||
|
||||
<logger name="br.com.cybercore.signer" level="DEBUG" />
|
||||
|
||||
Reference in New Issue
Block a user