Structured logging with A1sLog
Create diagnostic events that security, DevOps and auditors love.
Key patterns
A1sIsPresent = True;
If A1sIsPresent Then
#Region A1sLogUsing
// 1. Correlation id for every request
CorrID = A1sS.AsString(Новый УникальныйИдентификатор);
A1sLog.Info("Request started " + CorrID);
// 2. Automatic time delta
Начало = ТекущаяДата();
A1sS.PrintXML(Начало);
//... // code
Окончание = ТекущаяДата();
A1sS.PrintXML(Окончание);
FinishedMessage = "Finished " + "Δ=" + Строка(Окончание - Начало) + " мс; id=" + CorrID;
A1sLog.Info(FinishedMessage);
JSON_FinishedMessage = A1sJ.ToJSON(FinishedMessage);
A1sS.Print(JSON_FinishedMessage);
EndIf;
#EndRegion
outputs:
2025-05-19T06:45:28
2025-05-19T06:45:28
{
"#type":"jxs:string",
"#value":"Finished Δ=0 мс; id=2448999d-fdab-4dac-9ca9-7008ba31dd6c"
}
Add
CorrID to every log line; search 10× faster in Kibana.Performance warning pattern
If Длительность > 1000 Then
A1sLog.Warn("Slow query",
"⏱ " + Стр(Длительность) + " мс — " + ИмяЗапроса);
EndIf;
Failure pattern
Try
... // critical action
Except
A1sLog.Error("Import failed", ОписаниеОшибки());
// bubble
Raise;
EndTry;
Next steps
Ship logs to ELK or Grafana Loki and define alerts on Warn/Error events.