Skip to content

Commit 8d80bed

Browse files
committed
feat: supports log config
1 parent 0212d29 commit 8d80bed

File tree

4 files changed

+47
-13
lines changed

4 files changed

+47
-13
lines changed

pom.xml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
<artifactId>flexmodel-server</artifactId>
88
<version>0.0.1-SNAPSHOT</version>
99
<properties>
10-
<compiler-plugin.version>3.12.1</compiler-plugin.version>
10+
<compiler-plugin.version>3.13.0</compiler-plugin.version>
1111
<maven.compiler.release>21</maven.compiler.release>
1212
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1313
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
1414
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
1515
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
16-
<quarkus.platform.version>3.10.1</quarkus.platform.version>
16+
<quarkus.platform.version>3.15.1</quarkus.platform.version>
1717
<skipITs>true</skipITs>
18-
<surefire-plugin.version>3.2.5</surefire-plugin.version>
18+
<surefire-plugin.version>3.3.1</surefire-plugin.version>
1919
<HikariCP.version>5.1.0</HikariCP.version>
2020
<testcontainers.version>1.19.3</testcontainers.version>
2121
</properties>
@@ -28,15 +28,13 @@
2828
<type>pom</type>
2929
<scope>import</scope>
3030
</dependency>
31-
<dependency>
32-
<groupId>com.graphql-java</groupId>
33-
<artifactId>graphql-java</artifactId>
34-
<version>22.3</version>
35-
</dependency>
3631
</dependencies>
3732
</dependencyManagement>
3833
<dependencies>
39-
34+
<dependency>
35+
<groupId>io.quarkus</groupId>
36+
<artifactId>quarkus-scheduler</artifactId>
37+
</dependency>
4038
<dependency>
4139
<groupId>org.mongodb</groupId>
4240
<artifactId>mongodb-driver-sync</artifactId>
@@ -185,9 +183,7 @@
185183
<artifactId>maven-compiler-plugin</artifactId>
186184
<version>${compiler-plugin.version}</version>
187185
<configuration>
188-
<compilerArgs>
189-
<arg>-parameters</arg>
190-
</compilerArgs>
186+
<parameters>true</parameters>
191187
</configuration>
192188
</plugin>
193189
<plugin>

src/main/java/tech/wetech/flexmodel/domain/model/api/ApiLogService.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22

33
import jakarta.enterprise.context.ApplicationScoped;
44
import jakarta.inject.Inject;
5+
import lombok.extern.slf4j.Slf4j;
56
import tech.wetech.flexmodel.codegen.entity.ApiLog;
67
import tech.wetech.flexmodel.criterion.Example;
78

9+
import java.time.LocalDateTime;
810
import java.util.List;
911
import java.util.function.UnaryOperator;
1012

1113
/**
1214
* @author cjbi
1315
*/
16+
@Slf4j
1417
@ApplicationScoped
1518
public class ApiLogService {
1619

@@ -29,4 +32,9 @@ public List<LogStat> stat(UnaryOperator<Example.Criteria> filter) {
2932
return apiLogRepository.stat(filter);
3033
}
3134

35+
public void purgeOldLogs(int maxDays) {
36+
log.info("Purging old logs older than {} days", maxDays);
37+
LocalDateTime purgeDate = LocalDateTime.now().minusDays(maxDays);
38+
apiLogRepository.delete(f -> f.lessThanOrEqualTo("createDate", purgeDate));
39+
}
3240
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package tech.wetech.flexmodel.infrastructrue;
2+
3+
import io.quarkus.scheduler.Scheduled;
4+
import jakarta.inject.Inject;
5+
import tech.wetech.flexmodel.domain.model.api.ApiLogService;
6+
import tech.wetech.flexmodel.domain.model.settings.Settings;
7+
import tech.wetech.flexmodel.domain.model.settings.SettingsService;
8+
9+
/**
10+
* @author cjbi
11+
*/
12+
public class Jobs {
13+
14+
@Inject
15+
SettingsService settingsService;
16+
17+
@Inject
18+
ApiLogService apiLogService;
19+
20+
@Scheduled(cron = "0 0 1 * * ?")
21+
void purgeOldLogs() {
22+
Settings settings = settingsService.getSettings();
23+
apiLogService.purgeOldLogs(settings.getLog().getMaxDays());
24+
}
25+
26+
}

src/main/java/tech/wetech/flexmodel/infrastructrue/LogFilter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import tech.wetech.flexmodel.domain.model.api.ApiLogService;
1212
import tech.wetech.flexmodel.domain.model.api.LogData;
1313
import tech.wetech.flexmodel.domain.model.api.LogLevel;
14+
import tech.wetech.flexmodel.domain.model.settings.Settings;
1415
import tech.wetech.flexmodel.domain.model.settings.SettingsService;
1516
import tech.wetech.flexmodel.util.JsonUtils;
1617

@@ -47,7 +48,10 @@ public void filter(ContainerRequestContext requestContext, ContainerResponseCont
4748
execTime = -1L;
4849
}
4950
CompletableFuture.runAsync(() -> {
50-
saveLog(requestContext, responseContext, execTime);
51+
Settings settings = settingsService.getSettings();
52+
if (settings.getLog().isConsoleLoggingEnabled()) {
53+
saveLog(requestContext, responseContext, execTime);
54+
}
5155
});
5256
}
5357

0 commit comments

Comments
 (0)