File tree Expand file tree Collapse file tree 2 files changed +35
-1
lines changed Expand file tree Collapse file tree 2 files changed +35
-1
lines changed Original file line number Diff line number Diff line change
1
+ using ServiceStack . Jobs ;
2
+ using ServiceStack . Web ;
3
+
4
+ [ assembly: HostingStartup ( typeof ( MyApp . ConfigureRequestLogs ) ) ]
5
+
6
+ namespace MyApp ;
7
+
8
+ public class ConfigureRequestLogs : IHostingStartup
9
+ {
10
+ public void Configure ( IWebHostBuilder builder ) => builder
11
+ . ConfigureServices ( ( context , services ) => {
12
+
13
+ services . AddPlugin ( new RequestLogsFeature {
14
+ RequestLogger = new SqliteRequestLogger ( ) ,
15
+ // EnableResponseTracking = true,
16
+ EnableRequestBodyTracking = true ,
17
+ EnableErrorTracking = true
18
+ } ) ;
19
+ services . AddHostedService < RequestLogsHostedService > ( ) ;
20
+ } ) ;
21
+ }
22
+
23
+ public class RequestLogsHostedService ( ILogger < RequestLogsHostedService > log , IRequestLogger requestLogger ) : BackgroundService
24
+ {
25
+ protected override async Task ExecuteAsync ( CancellationToken stoppingToken )
26
+ {
27
+ var dbRequestLogger = ( SqliteRequestLogger ) requestLogger ;
28
+ using var timer = new PeriodicTimer ( TimeSpan . FromSeconds ( 3 ) ) ;
29
+ while ( ! stoppingToken . IsCancellationRequested && await timer . WaitForNextTickAsync ( stoppingToken ) )
30
+ {
31
+ dbRequestLogger . Tick ( log ) ;
32
+ }
33
+ }
34
+ }
Original file line number Diff line number Diff line change 30
30
31
31
<ItemGroup >
32
32
<PackageReference Include =" Microsoft.AspNetCore.OpenApi" Version =" 8.*" />
33
- <PackageReference Include =" Swashbuckle.AspNetCore" Version =" 7 .*" />
33
+ <PackageReference Include =" Swashbuckle.AspNetCore" Version =" 8 .*" />
34
34
<PackageReference Include =" ServiceStack.AspNetCore.OpenApi" Version =" 8.*" />
35
35
</ItemGroup >
36
36
You can’t perform that action at this time.
0 commit comments