Skip to content

Commit c6ebc6b

Browse files
committed
Add log property type.
1 parent 90dd865 commit c6ebc6b

File tree

5 files changed

+23
-4
lines changed

5 files changed

+23
-4
lines changed

src/Serilog.Ui.Core/Models/LogModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,7 @@ public class LogModel
1515
public virtual string Exception { get; set; }
1616

1717
public virtual string Properties { get; set; }
18+
19+
public virtual string PropertyType { get; set; }
1820
}
1921
}

src/Serilog.Ui.MsSqlServerProvider/SqlServerDataProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ private async Task<IEnumerable<LogModel>> GetLogsAsync(int page, int count, stri
6060

6161
using (IDbConnection connection = new SqlConnection(_options.ConnectionString))
6262
{
63-
return await connection.QueryAsync<LogModel>(queryBuilder.ToString(),
63+
return await connection.QueryAsync<SqlServerLogModel>(queryBuilder.ToString(),
6464
new
6565
{
6666
Offset = page,
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using Serilog.Ui.Core;
2+
3+
namespace Serilog.Ui.MsSqlServerProvider
4+
{
5+
internal class SqlServerLogModel : LogModel
6+
{
7+
public override string PropertyType => "xml";
8+
}
9+
}

src/Serilog.Ui.PostgreSqlProvider/PostgreDataProvider.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public PostgresDataProvider(RelationalDbOptions options)
3535
private async Task<IEnumerable<LogModel>> GetLogsAsync(int page, int count, string level, string searchCriteria)
3636
{
3737
var queryBuilder = new StringBuilder();
38-
queryBuilder.Append("SELECT message, message_template, level, timestamp, exception, log_event FROM ");
38+
queryBuilder.Append("SELECT message, message_template, level, timestamp, exception, log_event AS \"Properties\" FROM ");
3939
queryBuilder.Append(_options.Schema);
4040
queryBuilder.Append(".");
4141
queryBuilder.Append(_options.TableName);
@@ -58,14 +58,20 @@ private async Task<IEnumerable<LogModel>> GetLogsAsync(int page, int count, stri
5858
queryBuilder.Append(" ORDER BY timestamp DESC LIMIT @Count OFFSET @Offset ");
5959

6060
using IDbConnection connection = new NpgsqlConnection(_options.ConnectionString);
61-
return await connection.QueryAsync<PostgresLogModel>(queryBuilder.ToString(),
61+
var logs = await connection.QueryAsync<PostgresLogModel>(queryBuilder.ToString(),
6262
new
6363
{
64-
Offset = page,
64+
Offset = page * count,
6565
Count = count,
6666
Level = LogLevelConverter.GetLevelValue(level),
6767
Search = searchCriteria != null ? "%" + searchCriteria + "%" : null
6868
});
69+
70+
var index = 1;
71+
foreach (var log in logs)
72+
log.Id = (page * count) + index++;
73+
74+
return logs;
6975
}
7076

7177
public async Task<int> CountLogsAsync(string level, string searchCriteria)

src/Serilog.Ui.PostgreSqlProvider/PostgreLogModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,7 @@ public override string Level
1111
get => _level;
1212
set => _level = LogLevelConverter.GetLevelName(value);
1313
}
14+
15+
public override string PropertyType => "json";
1416
}
1517
}

0 commit comments

Comments
 (0)