新增数据库 联表查询支持

This commit is contained in:
2025-03-21 10:33:19 +08:00
parent a15345adeb
commit 5acd63eb99
4 changed files with 75 additions and 29 deletions

View File

@@ -35,46 +35,66 @@ class LokiLogger implements Logger {
}
@override
void debug(String msg,
{String? tag, String? traceId, String? spanId, String? parentSpanId}) {
{String? tag,
String? traceId,
String? spanId,
String? parentSpanId,
Map<String, String>? lable}) {
log(msg,
level: LoggerLevel.debug,
tag: tag,
traceId: traceId,
spanId: spanId,
parentSpanId: parentSpanId);
parentSpanId: parentSpanId,
lable: lable);
}
@override
void info(String msg,
{String? tag, String? traceId, String? spanId, String? parentSpanId}) {
{String? tag,
String? traceId,
String? spanId,
String? parentSpanId,
Map<String, String>? lable}) {
log(msg,
level: LoggerLevel.info,
tag: tag,
traceId: traceId,
spanId: spanId,
parentSpanId: parentSpanId);
parentSpanId: parentSpanId,
lable: lable);
}
@override
void warning(String msg,
{String? tag, String? traceId, String? spanId, String? parentSpanId}) {
{String? tag,
String? traceId,
String? spanId,
String? parentSpanId,
Map<String, String>? lable}) {
log(msg,
level: LoggerLevel.warning,
tag: tag,
traceId: traceId,
spanId: spanId,
parentSpanId: parentSpanId);
parentSpanId: parentSpanId,
lable: lable);
}
@override
void error(String msg,
{String? tag, String? traceId, String? spanId, String? parentSpanId}) {
{String? tag,
String? traceId,
String? spanId,
String? parentSpanId,
Map<String, String>? lable}) {
log(msg,
level: LoggerLevel.error,
tag: tag,
traceId: traceId,
spanId: spanId,
parentSpanId: parentSpanId);
parentSpanId: parentSpanId,
lable: lable);
}
void log(String msg,
@@ -82,7 +102,8 @@ class LokiLogger implements Logger {
String? tag,
String? traceId,
String? spanId,
String? parentSpanId}) {
String? parentSpanId,
Map<String, String>? lable}) {
if (level.level < this.level.level) {
//日志等级小于设置的输出日志等级
return;
@@ -97,15 +118,14 @@ class LokiLogger implements Logger {
var now = DateTime.now();
// 转换为纳秒
int nanoseconds = now.microsecondsSinceEpoch * 1000;
var lableMap = {"service_name": _config.serviceName};
if (lable != null) {
lableMap.addAll(lable);
}
var data = jsonEncode({
"streams": [
{
"stream": {
"service_name": _config.serviceName,
// "traceId": traceId,
// "spanId": spanId,
// "parentSpanId": parentSpanId
},
"stream": lableMap,
"values": [
[nanoseconds.toString(), log]
]