feat: config logback for monitor

This commit is contained in:
tjq 2022-09-12 21:09:47 +08:00
parent 1b9d8331a1
commit a77ba8084e
3 changed files with 110 additions and 5 deletions

View File

@ -61,7 +61,8 @@ public class UseCacheLockAspect {
if (timeCost > SLOW_THRESHOLD) {
final SlowLockEvent slowLockEvent = new SlowLockEvent()
.setLocKType(useCacheLock.type())
.setType(SlowLockEvent.Type.LOCAL)
.setLockType(useCacheLock.type())
.setLockKey(String.valueOf(key))
.setCallerService(method.getDeclaringClass().getSimpleName())
.setCallerMethod(method.getName())

View File

@ -15,12 +15,18 @@ import tech.powerjob.server.monitor.Event;
@Accessors(chain = true)
public class SlowLockEvent implements Event {
private String locKType;
private Type type;
private String lockType;
private String lockKey;
private String callerService;
private String callerMethod;
private long cost;
public enum Type {
LOCAL,
DB
}
@Override
public String type() {
return "MONITOR_LOGGER_SLOW_LOCK";
@ -28,6 +34,6 @@ public class SlowLockEvent implements Event {
@Override
public String message() {
return SJ.MONITOR_JOINER.join(locKType, lockKey, callerService, callerMethod, cost);
return SJ.MONITOR_JOINER.join(type, lockType, lockKey, callerService, callerMethod, cost);
}
}

View File

@ -6,7 +6,7 @@
<property name="MONITOR_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS}|%thread|%X{serverId}|%msg%n"/>
<!-- Configuration for database monitor logs. -->
<!-- database -->
<appender name="MONITOR_LOGGER_DB_OPERATION_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MONITOR_LOG_PATH}/database.log</file>
<encoder>
@ -29,6 +29,104 @@
<logger name="MONITOR_LOGGER_DB_OPERATION" level="INFO" additivity="false">
<appender-ref ref="ASYNC_MONITOR_LOGGER_DB_OPERATION_APPENDER"/>
</logger>
<!-- End of configuration for database monitor logs. -->
<!-- TtReportInstanceStatusEvent -->
<appender name="MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MONITOR_LOG_PATH}/tt_status_report.log</file>
<encoder>
<pattern>${MONITOR_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${MONITOR_LOG_PATH}/tt_status_report.log.${ROTATE_PATTERN}</fileNamePattern>
<maxHistory>3</maxHistory>
<maxFileSize>500MB</maxFileSize>
<totalSizeCap>1500MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER"/>
</appender>
<logger name="MONITOR_LOGGER_TT_REPORT_STATUS" level="INFO" additivity="false">
<appender-ref ref="ASYNC_MONITOR_LOGGER_TT_REPORT_STATUS_APPENDER"/>
</logger>
<!-- WorkerHeartbeatEvent -->
<appender name="MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MONITOR_LOG_PATH}/worker_heartbeat.log</file>
<encoder>
<pattern>${MONITOR_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${MONITOR_LOG_PATH}/worker_heartbeat.log.${ROTATE_PATTERN}</fileNamePattern>
<maxHistory>3</maxHistory>
<maxFileSize>500MB</maxFileSize>
<totalSizeCap>1500MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER"/>
</appender>
<logger name="MONITOR_LOGGER_WORKER_HEART_BEAT" level="INFO" additivity="false">
<appender-ref ref="ASYNC_MONITOR_LOGGER_WORKER_HEART_BEAT_APPENDER"/>
</logger>
<!-- WorkerLogReportEvent -->
<appender name="MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MONITOR_LOG_PATH}/worker_log_report.log</file>
<encoder>
<pattern>${MONITOR_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${MONITOR_LOG_PATH}/worker_log_report.log.${ROTATE_PATTERN}</fileNamePattern>
<maxHistory>3</maxHistory>
<maxFileSize>500MB</maxFileSize>
<totalSizeCap>1500MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER"/>
</appender>
<logger name="MONITOR_LOGGER_WORKER_LOG_REPORT" level="INFO" additivity="false">
<appender-ref ref="ASYNC_MONITOR_LOGGER_WORKER_LOG_REPORT_APPENDER"/>
</logger>
<!-- SlowLockEvent -->
<appender name="MONITOR_LOGGER_SLOW_LOCK_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${MONITOR_LOG_PATH}/lock.log</file>
<encoder>
<pattern>${MONITOR_LOG_PATTERN}</pattern>
<charset>UTF-8</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${MONITOR_LOG_PATH}/lock.log.${ROTATE_PATTERN}</fileNamePattern>
<maxHistory>3</maxHistory>
<maxFileSize>500MB</maxFileSize>
<totalSizeCap>1500MB</totalSizeCap>
</rollingPolicy>
</appender>
<appender name="ASYNC_MONITOR_LOGGER_SLOW_LOCK_APPENDER" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>512</queueSize>
<discardingThreshold>0</discardingThreshold>
<neverBlock>true</neverBlock>
<appender-ref ref="MONITOR_LOGGER_SLOW_LOCK_APPENDER"/>
</appender>
<logger name="MONITOR_LOGGER_SLOW_LOCK" level="INFO" additivity="false">
<appender-ref ref="ASYNC_MONITOR_LOGGER_SLOW_LOCK_APPENDER"/>
</logger>
</included>