Примеры событий в файловых журналах
Введение
В настоящей статье представлены примеры событий и данных, которые регистрируются в файловых журналах экземпляра ПО Comindware Business Application Platform. Названия событий даны согласно требованиям по информационной безопасности, предъявляемых к Автоматизированным системам.
Перечень событий
Вход пользователя в систему
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Home/Login/?returnUrl=/ OK HH:mm:ss.SSS 'Builtin: user logged in'
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername– имя пользователяXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/Home/Login/?returnUrl=/– адрес страницы входаOK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаBuiltin: user logged in— описание события: «Способ аутентификации: Встроенная. Пользователь вошёл в систему»
Выход пользователя из системы
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Home/Logout/ OK HH:mm:ss.SSS 'User logout success' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователяXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/Home/Login/?returnUrl=/— адрес страницы выходаOK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаUser logout success— описание события: «Пользователь вышел из системы»
Неуспешный вход пользователя в систему
Неверное имя при входе в систему
Неверный пароль при входе в систему
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Home/Login/?returnUrl=/Resolve OK HH:mm:ss.SSS '"Builtin": user login failed for "username"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 XXX.XXX.XXX.XXX http://SERVER\_URL/Home/Login/?failedLogin=InvalidLoginAndPassword&inputID=&returnUrl==%2fResolve 'GET' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователяXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/Home/Login/?returnUrl=/— адрес страницы выходаOK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запроса"Builtin": user login failed for "username"'— описание события: «Способ аутентификации: Встроенная. Пользователь username не смог войти в систему»http://SERVER_URL/Home/Login/?failedLogin=InvalidLoginAndPassword&inputID=&returnUrl==%2fResolve— адрес страницы, отображающейся после неудачной попытки входаGET— метод запроса
Создание учетной записи
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/UserApi/SetSystemInfo 'POST: "{"accountFormChanges":{"PasswordHash":"XXXXXX","OldPasswordHash":null,"DataformChanges":{"WidgetChanges":[{"ObjId":null,"TempId":"cmw.temp.21","TypeId":"cmw.account.Account","Changes":{"cmw.account.form.group0text1":{"Origin":4,"Literal":"FULL\_NAME","Clean":null,"Time":1698153500360,"Add":null,"Rem":null,"StreamName":null,"StreamId":null,"Parent":null,"ClearParent":null,"Number":null,"Order":null,"ComplexValues":null},"cmw.account.form.group0text2":{"Origin":4,"Literal":"USER\_NAME","Clean":null,"Time":1698153505344,"Add":null,"Rem":null,"StreamName":null,","StreamId":null,"Parent":null,"ClearParent":null,"Number":null,"Order":null,"ComplexValues":null},"cmw.account.form.group0text3":{"Origin":4,"Literal":"EMAIL","Clean":null,"Time":1698153518245,"Add":null,"Rem":null,"StreamName":null,"StreamId":null,"Parent":null,"ClearParent":null,"Number":null,"Order":null,"ComplexValues":null}},"CommandId":null,"CommandKind":2,"CommandContextChanges":null}],"ComplexObjectChanges":[]},"Id":"cmw.temp.21","IsActive":null,"IsAnonymous":null,"IsDisabled":null,"Language:"ru","AuthenticationMethod":0,"PasswordValidationParameters":null,"ProfilePhoto":null}}"' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, создавшего учётную записьXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/UserApi/SetSystemInfo— путь к методу API для создания учётной записиPOST— тип запросаaccountFormChanges— тело запроса с данными учётной записи:"PasswordHash":"XXXXXX"— хэш пароля"DataformChanges":{"WidgetChanges":[{}]}— поля формы учётной записи"ObjId":"null"— идентификатор временной записи"TempId":"cmw.temp.ID"— идентификатор временной записи"TypeId":"cmw.account.Account"— тип создаваемого объекта: учётная запись"Changes":{}— данные учетной записиFULL_NAME— Ф. И. О. пользователяUSER_NAME— имя пользователяEMAIL— адрес эл. почты пользователя
Удаление учетной записи
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/UserApi/SetSystemInfo 'DELETE: "{"accountIds":["account.1", "account.2"]}"' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, удалившего учётную записьXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/UserApi/DeleteAccounts— путь к методу API для удаления учётной записиDELETE— тип запроса{"accountIds":["account.1", "account.2"]}– тело запроса:accountIds— массив идентификаторов удалённых аккаунтовaccount.1,account.2— идентификаторы аккаунтов
Неуспешное создание учетной записи
Пример события
-MM-dd HH:mm:ss,SSS ERROR 00000000-0000-0000-0000-000000000000 username SERVER\_URL PORT XXX.XXX.XXX.XXX Core HH:mm:ss.SSS X.X.XXX.X ' Транзакция нарушает уникальность триплета: cmw.account.mbox – email@example.com
Service name:
"DataformService"
Method name:
"ApplyChangesAndQueryData"
Parameters list:
[0]: {"Changes":{"WidgetChanges":[{"ObjId":"cmw.temp.150","TempId":"cmw.temp.150","TypeId":"cmw.account.Account","Changes":{"cmw.account.form.group0text1":{"Origin":4,"Literal":"FULL\_NAME","Time":1700833720019},"cmw.account.form.group0text2":{"Origin":4,"Literal":"USER\_NAME","Time":1700833724427},"cmw.account.form.group0text3":{"Origin":4,"Literal":"EMAIL","Time":1700833711581}},"CommandKind":2}],"ComplexObjectChanges":[]},"Queries":[{"WiId":"cmw.account.form.root","QueryChildWidgets":true,"Widgets":[],"QueryObjectTitle":true,"QueryObjectToolbar":true,"TempId":"cmw.temp.150","RootTempId":"cmw.temp.150"}]}
Stack:
at Comindware.LogicsStorage.Core.Managers.StatementManagers.StatementManagerOneToOneOneToOneUnique.ReplaceStatement[TSubject,TValue] (Comindware.LogicsStorage.Api.Transaction transaction, TSubject subject, Comindware.LogicsStorage.Api.Predicate predicate, TValue value) [0x00093] in <7d85b33b773e45b1b9d638b93301c0e9>:0
at Comindware.LogicsStorage.Core.Managers.StatementManagers.TransactionStatementManager.ReplaceStatement[TSubject,TValue] (Comindware.LogicsStorage.Api.Transaction transaction, TSubject subject, Comindware.LogicsStorage.Api.Predicate predicate, TValue value) [0x00011] in <7d85b33b773e45b1b9d638b93301c0e9>:0
at Comindware.LogicsStorage.Core.Managers.StatementManager.ReplaceStatement[TSubject,TValue] (Comindware.LogicsStorage.Api.Transaction transaction, TSubject subject, Comindware.LogicsStorage.Api.Predicate predicate, TValue value) [0x00000] in <7d85b33b773e45b1b9d638b93301c0e9>:0
at Comindware.LogicsStorage.Api.TransactionExtensions.ReplaceStatement[TValue] (Comindware.LogicsStorage.Api.Transaction transaction, Comindware.LogicsStorage.Api.Identity subject, Comindware.LogicsStorage.Api.Identity predicate, TValue value) [0x0001f] in <7d85b33b773e45b1b9d638b93301c0e9>:0
at Comindware.TeamNetwork.Core.Services.PropertyPathWriter.WriteValue[TData] (Comindware.LogicsStorage.Api.Identity qContextObject, System.String[] path, System.Object value, System.String qWidget) [0x00199] in <8025f5369894426089cefdaa59a4c743>:0
at Comindware.TeamNetwork.Core.Services.WidgetsDataWriter.WriteLiteral (Comindware.LogicsStorage.Api.Identity qObject, Comindware.TeamNetwork.Core.Services.PropertyPathWriter writer, Comindware.TeamNetwork.Api.Data.DataSourceInfo ds, System.Object value, System.String widget) [0x000c8] in <8025f5369894426089cefdaa59a4c743>:0
at Comindware.TeamNetwork.Core.Services.WidgetsDataWriter.ApplyWidgetValueChange (Comindware.TeamNetwork.Core.Services.PropertyPathWriter writer, Comindware.LogicsStorage.Api.Identity qObject, Comindware.LogicsStorage.Api.Identity qWidget, Comindware.TeamNetwork.Api.Data.Forms.WidgetValueChange wChange) [0x00185] in <8025f5369894426089cefdaa59a4c743>:0
at Comindware.TeamNetwork.Core.Services.WidgetsDataWriter.ApplyWidgetChanges (Comindware.TeamNetwork.Core.Services.PropertyPathWriter writer, System.Collections.Generic.IList\`1[T] changes) [0x00170] in <8025f5369894426089cefdaa59a4c743>:0
at Comindware.TeamNetwork.Core.Services.WidgetsDataWriter.ApplyChanges (Comindware.TeamNetwork.Api.Data.Forms.DataformChanges changes) [0x0023e] in <8025f5369894426089cefdaa59a4c743>:0
at Comindware.TeamNetwork.Core.Services.DataformService.ApplyChangesAndQueryData (Comindware.TeamNetwork.Api.Data.Forms.DataformWidgetsQuery fQuery) [0x0002c] in <8025f5369894426089cefdaa59a4c743>:0
at Castle.Proxies.Invocations.IDataformService\_ApplyChangesAndQueryData.InvokeMethodOnTarget () [0x00018] in <9d46134a505745cbb2aa4c1a7704bca1>:0
at Castle.DynamicProxy.AbstractInvocation.Proceed () [0x0002d] in <99e1b17afc2a44c5b97e5af224da0ae2>:0
at Comindware.Platform.Core.Logging.ExceptionsInterceptor.Intercept (Castle.DynamicProxy.IInvocation invocation) [0x00000] in <13c6df997e3e467ca2451c9fd9f35e67>:0
'
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияERROR— тип события: ошибка00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, создающего учётную записьSERVER_URL— адрес сервераPORT— порт сервераXXX.XXX.XXX.XXX— IP-адрес сервераCore— наименование модуля, в котором произошло событиеhh:mm:ss.SSS— длительность обработки запросаX.X.XXX.X— версия ПО Comindware Business Application PlatformТранзакция нарушает уникальность триплета: cmw.account.mbox - email@example.com— описание события: неуникальный адрес эл. почтыService name: "DataformService"— наименование службы, обрабатывавшей веб-запросMethod name: "ApplyChangesAndQueryData"— наименование метода запросаParameters list— массив параметров запроса"Changes":{}— данные учётной записи"WidgetChanges":[{}]— массив полей формы учётной записи"ObjId":"cmw.temp.ID"— идентификатор временной записи"TempId":"cmw.temp.150"— идентификатор временной записи"TypeId":"cmw.account.Account"— тип создаваемого объекта: учётная записьFULL_NAME— Ф. И. О. пользователяUSER_NAME— имя пользователяEMAIL— адрес эл. почты пользователя
Stack— данные функций, обрабатывавших веб-запрос
Неуспешное удаление учетной записи
Пример события
-MM-dd HH:mm:ss,SSS ERROR 00000000-0000-0000-0000-000000000000 username SERVER\_URL PORT XXX.XXX.XXX.XXX Core HH:mm:ss.SSS X.X.XXX.X ' Вы не можете удалить свой аккаунт
Service name:
"AccountService"
Method name:
"Delete"
Parameters list:
[0]: ["account.1", "account.2"]
Stack:
at Comindware.Platform.Core.Services.AccountService.Delete (System.String[] accountsIds) [0x00104] in <13c6df997e3e467ca2451c9fd9f35e67>:0
at Castle.Proxies.Invocations.IAccountService\_Delete.InvokeMethodOnTarget () [0x00018] in <9d46134a505745cbb2aa4c1a7704bca1>:0
at Castle.DynamicProxy.AbstractInvocation.Proceed () [0x0002d] in <99e1b17afc2a44c5b97e5af224da0ae2>:0
at Comindware.Platform.Core.Logging.ExceptionsInterceptor.Intercept (Castle.DynamicProxy.IInvocation invocation) [0x00000] in <13c6df997e3e467ca2451c9fd9f35e67>:0
'
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияERROR— тип события: ошибка00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, удаляющего учётную записьSERVER_URL— адрес сервераPORT— порт сервераXXX.XXX.XXX.XXX— IP-адрес сервераCore— наименование модуля, в котором произошло событиеhh:mm:ss.SSS— длительность обработки запросаX.X.XXX.X— версия ПО Comindware Business Application PlatformВы не можете удалить свой аккаунт— описание событияService name: "AccountService"— наименование службы, обрабатывавшей веб-запросMethod name:"Delete" — наименование метода запросаParameters list— массив параметров запроса["account.1", "account.2"]— массив идентификаторов аккаунтов, выбранных для удаления
Stack— данные функций, обрабатывавших веб-запрос
Блокировка (отключение) учетной записи
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/Dataform/QueryData 'POST: "{"query":{"Changes":{"WidgetChanges":[{"ObjId":"account.ID","TypeId":"cmw.account.Account","Changes":{"cmw.account.form.group2flag1":{"Origin":4,"Literal":false,"Time":1698244978684}},"CommandKind":3}],"ComplexObjectChanges":[]},"Queries":[{"WiId":"cmw.account.form.root","QueryChildWidgets":true,"Widgets":[],"QueryObjectTitle":true,"QueryObjectToolbar":true,"ObjId":"account.ID","RootObjId":"account.ID"}]}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/Dataform/QueryData OK HH:mm:ss.SSS 'POST completed'
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователяXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/Dataform/QueryData— путь к методу API для изменения данных учётной записиPOST— тип запросаquery— тело запроса с данными учётной записи"ObjId":"account.ID"— идентификатор учётной записи"TypeId":"cmw.account.Account"— тип объекта: учётная записи"Changes":{"cmw.account.form.group2flag1":{"Origin":4,"Literal":false,"Time":1698244978684}}— отключение учётной записи:"Literal":false"ObjId":"account.ID"— идентификатор временной записи"RootObjId":"account.ID"— идентификатор временной записи
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPOST completed— результат обработки запроса: выполнен
Разблокировка (включение) учетной записи
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/Dataform/QueryData 'POST: "{"query":{"Changes":{"WidgetChanges":[{"ObjId":"account.ID","TypeId":"cmw.account.Account","Changes":{"cmw.account.form.group2flag1":{"Origin":4,"Literal":true,"Time":1698245267640}},"CommandKind":3}],"ComplexObjectChanges":[]},"Queries":[{"WiId":"cmw.account.form.root","QueryChildWidgets":true,"Widgets":[],"QueryObjectTitle":true,"QueryObjectToolbar":true,"ObjId":"account.ID","RootObjId":"account.ID"}]}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/Dataform/QueryData OK HH:mm:ss.SSS 'POST completed'
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователяXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/Dataform/QueryData— путь к методу API для изменения данных учётной записиPOST— тип запросаquery— тело запроса с данными учётной записи"WidgetChanges":[{}]— поля формы учётной записи"ObjId":"account.ID"— идентификатор учётной записи"TypeId":"cmw.account.Account"— тип объекта: учётная запись"Changes":{"cmw.account.form.group2flag1":{"Origin":4,"Literal":true,"Time":1698245267640}}— включение учётной записи:"Literal":true"RootObjId":"account.ID"— идентификатор временной записи
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPOST completed— результат обработки запроса: выполнен
Смена пароля учетной записи
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/UserApi/SetSystemInfo 'POST: "{"accountFormChanges":{"PasswordHash":"XXXXXXX","OldPasswordHash":null,"DataformChanges":{"WidgetChanges":[{"ObjId":"account.ID","TempId":null,"TypeId":"cmw.account.Account","Changes":{"cmw.account.form.group2flag1":{"Origin":4,"Literal":true,"Clean":null,"Time":1698245267640,"Add":null,"Rem":null,"StreamName":null,"StreamId":null,"Parent":null,"ClearParent":null,"Number":null,"Order":null,"ComplexValues":null}},"CommandId":null,"CommandKind":3,"CommandContextChanges":null}],"ComplexObjectChanges":[]},"Id":"account.ID","IsActive":null,"IsAnonymous":null,"IsDisabled":null,"Language":null,"AuthenticationMethod":0,"PasswordValidationParameters":null,"ProfilePhoto":null}}"' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, создавшего учётную записьXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/UserApi/SetSystemInfo— путь к методу API для создания учётной записиPOST— тип запросаaccountFormChanges— тело запроса с данными учётной записи:"PasswordHash":"XXXXXXX"— хэш нового пароля"DataformChanges":{"WidgetChanges":[{}]}— поля формы учётной записи"TypeId":"cmw.account.Account"— тип объекта: учётная запись"Changes":{}— данные учётной записи"ObjId":"account.ID"— идентификатор учётной записи"Id":"account.ID"— идентификатор учётной записи
Создание роли
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Members/GetMembersData 200 03:00:00 'POST completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Post 'POST: "{"role":{"Name":"Role Name","Alias":"RoleSystemName","Solution":"sln.1","Members":[],"IsActive":true,"RoleType":0}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Post OK HH:mm:ss.SSS 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, создавшего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RolesCollectionApi/Post— путь к методу API для создания ролиPOST— тип запросаrole— тело запроса с данными роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Solution":"sln.1"— идентификатор приложения, в котором создана роль
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPOSTcompleted — результат обработки запроса: выполнен
Создание группы пользователей
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/GroupApi/Post 'POST: "{"group":{"HoldMembersActive":false,"HoldMembersEnabled":false,"Users":[],"MemberOf":[],"Name":"Group Name","Origin":1}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/GroupApi/Post OK HH:mm:ss.SSS 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, создавшего группуXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/GroupApi/Post— путь к методу API для создания группыPOST— тип запросаgroup— тело запроса с данными группы"Name":"Group Name"— название группы"MemberOf":[]— массив идентификаторов родительских групп"Users":[]— массив идентификаторов учётных записей, входящих в группу
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPOSTcompleted — результат обработки запроса: выполнен
Удаление роли
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Delete 'DELETE: "{"rolesIds":["role.1","role.2"]}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Delete NoContent HH:mm:ss.SSS 'DELETE completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, удалившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RolesCollectionApi/Delete— путь к методу API для удаления ролиDELETE— тип запроса{"rolesIds":["role.1","role.2"]}— тело запроса:"rolesIds"— массив идентификаторов ролей, подлежащих удалению"role.1","role.2"— идентификаторы ролей
NoContent— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаDELETE completed— результат обработки запроса: выполнен
Удаление группы пользователей
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/GroupApi/Delete 'DELETE: "{"ids":["group.1","group.2"]}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/GroupApi/Delete NoContent HH:mm:ss.SSS 'DELETE completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, удалившего группуXXX.XXX.XXX.XXX— IP-адрес сервера- http://
SERVER_URL/api/GroupApi/Delete— путь к методу API для удаления группы DELETE— тип запроса{"ids":["group.1","group.2"]}— тело запроса"ids"— массив идентификаторов групп, подлежащих удалению"group.1","group.2"—идентификаторы групп
NoContent— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаDELETE completed— результат обработки запроса: выполнен
Изменение прав группы (роли) пользователей
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'PUT: "{"role":{"Id":"role.ID","Name":"Role Name","Alias":"RoleSystemName","Workspace":{"Id":"workspace.1","Name":"Workspace Name"},"Solution":"sln.1","Creator":"account.6","CreationDate":"2023-10-25T17:58:03+00:00","LastWriteDate":"2023-10-25T17:58:03+00:00","Members":["account.ID","account.ID"],"IsActive":true,"IsPredefined":false,"RoleType":1,"RootResource":{"Name":"Системное приложение","Description":"","Children":[{"Name":"Organizational unit template","Children":[{"Name":"All records","Children":[],"Target":"lst.13","TargetType":14,"Privileges":4,"AvailablePrivileges":4}],"Target":"os.1","TargetType":22,"Privileges":132,"AvailablePrivileges":204}],"Target":"sln.1","TargetType":4,"Privileges":204,"AvailablePrivileges":716},"CreatorName":"Full Name"}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Read","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"systemSolution","ResourceType":"BusinessApp"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Create","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"systemSolution","ResourceType":"BusinessApp"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Update","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution] RecordTemplateName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Delete","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"systemSolution","ResourceType":"BusinessApp"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Read","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution] systemSolution\_OrganizationalStructure","ResourceType":"OrgStructureTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Delete","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution] systemSolution\_OrganizationalStructure","ResourceType":"OrgStructureTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Read","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution] systemSolution\_OrganizationalStructure","ResourceType":"OrgStructureTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Delete","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution] systemSolution\_OrganizationalStructure","ResourceType":"OrgStructureTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Read","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[systemSolution\_OrganizationalStructure] defaultList","ResourceType":"List"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put OK HH:mm:ss.SSS 'PUT completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RolesCollectionApi/Put— путь к методу API для изменения ролиPUT— тип запросаrole— тело запроса:"Id":"role.ID"— идентификатор роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Workspace":{"Id":"workspace.ID","Name":"Workspace Name"}— свойства раздела навигации, к которому привязана системная роль"Solution":"sln.ID"— идентификатор приложения"IsPredefined":false— непредустановленная роль"RoleType":1— тип роли:- 0 — системная стандартная
- 1 — роль в приложении
- 2 — системная пользовательская
"Members":[]— массив идентификаторов учётных записей и групп, входящих в роль
"RootResource":{}— приложение, к ресурсам которого роль задаёт разрешения"Children":[{"Name":"Resource name","Children":[],"Target":"resource.ID","TargetType":XX,"Privileges":XXX,"AvailablePrivileges":XXX}]— массив ресурсов, к которым роль задаёт разрешения"Target":"resource.ID"— идентификатор ресурса"TargetType":XX— код типа ресурса"Privileges":XXX— код установленных разрешений"AvailablePrivileges":XXX— код доступных разрешений
Разрешение добавлено в роль— описание события'{"Privilege":"Read","Role":"[applicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'— тело запроса:"Privilege":"Read"— тип добавленного разрешения:Create— созданиеDelete— удалениеRead— чтениеUpdate— запись
"Role":"[ApplicationSystemName] RoleSystemName"— свойства роли:ApplicationSystemName— системное имя приложенияRoleSystemName— системное имя роли
"RoleType":"BusinessApp"— тип роли:BusinessApp— роль в приложенииSystem— системная
"Resource":"[ParentSystemName] ResourceSystemName"путь к ресурсу, на доступ к которому предоставлено разрешение:parentSystemName— системное имя родительского ресурсаResourceSystemName— системное имя ресурса
"ResourceType":"RecordTemplate"— тип ресурса, на доступ к которому предоставлено разрешение:BusinessApp— приложениеChangeJournal— журнал измененийFrom— формаList— таблицаOrgStructureTemplate— шаблон оргединицыOperation— кнопкаProcessTemplate— шаблон процессаRecordTemplate— шаблон записиRoleTemplate— шаблон роли
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPUT completed— результат обработки запроса: выполнен
Включение пользователя в состав группы (роли)
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'PUT: "{"role":{"Id":"role.ID","Name":"Role Name","Alias":"RoleSystemName","Workspace":{"Id":"workspace.1","Name":"Workspace Name"},"Solution":"sln.1","Creator":"account.6","CreationDate":"2023-10-25T17:58:03+00:00","LastWriteDate":"2023-10-25T17:58:03+00:00","Members":["account.ID","account.ID"],"IsActive":true,"IsPredefined":false,"RoleType":1,"RootResource":{"Name":"Системное приложение","Description":"","Children":[{"Name":"Organizational unit template","Children":[{"Name":"All records","Children":[],"Target":"lst.13","TargetType":14,"Privileges":4,"AvailablePrivileges":4}],"Target":"os.1","TargetType":22,"Privileges":132,"AvailablePrivileges":204}],"Target":"sln.1","TargetType":4,"Privileges":204,"AvailablePrivileges":716},"CreatorName":"Full Name"}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put
'Аккаунт добавлен в роль' '{"User":"username","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp"}'
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put OK HH:mm:ss.SSS 'PUT completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервера- http://
SERVER_URL/api/RolesCollectionApi/Put — путь к методу API для изменения роли PUT— тип запросаRole— тело запроса:"Id":"role.ID"— идентификатор роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Workspace":{"Id":"workspace.ID","Name":"Workspace Name"}— свойства раздела навигации, к которому"Solution":"sln.ID"— идентификатор приложения"IsPredefined":false— непредустановленная роль"RoleType":1— тип роли:- 0 — системная предустановленная
- 1 — роль в приложении
- 2 — системная непредустановленная
"Members":["account.ID","account.ID"]— массив идентификаторов учётных записей и групп, входящих в роль
"RootResource":{}— объект корневого ресурса, к которому роль задаёт разрешения: приложение"Children":[{}]— массив объектов с ресурсами, к которым роль задаёт разрешения
- Аккаунт добавлен в роль — описание события
'{"User":"username","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp"}'— тело запроса:-
"User":"username"— имя пользователя"Role":"[ApplicationSystemName] RoleSystemName"— свойства роли:systemSolution— системное имя приложенияRoleSystemName— системное имя роли
"RoleType":"BusinessApp"— тип роли:BusinessApp— роль в приложенииSystem— системная роль
-
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPUT completed— результат обработки запроса: выполнен
Исключение пользователя из состава группы (удаление роли)
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Members/GetMembersData 'POST: "{"model":{"FilterType":3,"Selected":["account.ID"]}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/Members/GetMembersData 200 03:00:00 'POST completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'PUT: "{"role":{"Id":"role.ID","Name":"Role Name","Alias":"RoleSystemName","Workspace":{"Id":"workspace.1","Name":"Workspace Name"},"Solution":"sln.1","Creator":"account.6","CreationDate":"2023-10-25T17:58:03+00:00","LastWriteDate":"2023-10-25T17:58:03+00:00","Members":["account.ID","account.ID"],"IsActive":true,"IsPredefined":false,"RoleType":1,"RootResource":{"Name":"Системное приложение","Description":"","Children":[{"Name":"Organizational unit template","Children":[{"Name":"All records","Children":[],"Target":"lst.13","TargetType":14,"Privileges":4,"AvailablePrivileges":4}],"Target":"os.1","TargetType":22,"Privileges":132,"AvailablePrivileges":204}],"Target":"sln.1","TargetType":4,"Privileges":204,"AvailablePrivileges":716},"CreatorName":"Full Name"}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Аккаунт удален из роли' '{"User":"username","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put OK HH:mm:ss.SSS 'PUT completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/Members/GetMembersData— путь к методу API для получения идентификатора учётной записи участника ролиPOST— тип запроса{"model":{"FilterType":3,"Selected":["account.ID"]}}— тело запроса:"FilterType":3— тип фильтра учётных записей:- 1 — только учётные записи
- 2 — только группы
- 3 — учётные записи и группы
"Selected":["account.ID"]— массив идентификаторов исключённых учётных записей
http://SERVER_URL/api/RolesCollectionApi/Put— путь к методу API для изменения ролиPUT— тип запросаRole— тело запроса:"Id":"role.ID"— идентификатор роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Workspace":{"Id":"workspace.ID","Name":"Workspace Name"}— свойства раздела навигации, к которому"Solution":"sln.ID"— идентификатор приложения"IsPredefined":false— непредустановленная роль"RoleType":1— тип роли:- 0 — системная предустановленная
- 1 — роль в приложении
- 2 — системная непредустановленная
"Members":["account.ID","account.ID"]— массив идентификаторов учётных записей и групп, входящих в роль
"RootResource":{}— объект корневого ресурса, к которому роль задаёт разрешения: приложение"Children":[{}]— массив объектов с ресурсами, к которым роль задаёт разрешения
- Аккаунт удален из роли — описание события
'{"User":"username","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp"}'— тело запроса:"User":"username"— имя пользователя"Role":"[ApplicationSystemName] RoleSystemName"— свойства роли:ApplicationSystemName— системное имя приложенияRoleSystemName— системное имя роли
"RoleType":"BusinessApp"— тип роли:BusinessApp— роль в приложенииSystem— системная роль
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPUTcompleted — результат обработки запроса: выполнен
Создание объекта
Создание шаблона
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/Create 'POST: "{"template":{"Alias":"TemplateSystemName","Name":"Template Name","IsDisabled":false,"Type":4,"Solution":"sln.ID","CreationDate":"0001-01-01T00:00:00","IsReferenceData":false,"IsTransferable":false,"ConversationDisplayConfig":{"DisableSidePanelConversations":true,"DisableWidgetConversations":true,"ProhibitedReferenceTypes":[],"HideArchivedMessages":false}}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/Create OK 03:00:00.296 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/TemplatesApi/Create— путь к методу API для создания шаблонаPOST— тип запроса"template":{}— тело запроса с данными шаблона:"Alias":"TemplateSystemName"— системное имя шаблона"Name":"Template Name"— название шаблона"IsDisabled":false— статус шаблона: включен (false) / отключен (true)"Type":4— тип шаблона- 3 — шаблон процесса
- 4 — шаблон записи
- 5 — шаблон аккаунта
"Solution":"sln.ID"— идентификатор приложения, в котором создан шаблон"CreationDate":"0001-01-01T00:00:00"— дата создания шаблона"IsReferenceData":false— флаг «Шаблон является справочником»"IsTransferable":false— флаг «Переносить данные шаблона при трансфере»"ConversationDisplayConfig":{}— конфигурация обсуждений в шаблоне
Чтение объекта
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/Get/oa.91 'GET: "{"id":"oa.91"}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/Get/oa.91 OK 03:00:00 'GET completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/SolutionConfigurationApi/List 'GET' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/SolutionConfigurationApi/List OK HH:mm:ss.SSS 'GET completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RecordTypeContextApi?recordTypeId=oa.91 'GET: "{"recordTypeId":"oa.91"}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/GetUsages/oa.91 'GET: "{"id":"oa.91"}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/List 'POST: "{"filter":{"Type":0,"OnlyEnabled":true,"OnlyAdmin":false,"IncludeDocumentTemplates":false}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/GetUsages/oa.91 OK HH:mm:ss.SSS 'GET completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RecordTypeContextApi?recordTypeId=oa.91 OK HH:mm:ss.SSS 'GET completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/TemplatesApi/List OK 03:00:00.046 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервера
Чтение свойств шаблона записи
http://SERVER_URL/api/TemplatesApi/Get/oa.ID— путь к методу API для чтения шаблона записиhttp://SERVER_URL/api/RecordTypeContextApi?recordTypeId=oa.ID— путь к методу API для чтения свойств шаблона записиoa.ID— идентификатор шаблона записиGET— тип запроса"{"id":"oa.ID"}"— тело запроса с идентификатором шаблонаOK— статус обработки запросаhh:mm:ss— длительность обработки запросаGET completed— результат обработки запроса: выполнен
Чтение списка приложений
http://SERVER_URL/api/SolutionConfigurationApi/List— путь к методу API для чтения списка приложений на сервереGET— тип запросаOK— статус обработки запросаhh:mm:ss— длительность обработки запросаGET completed— результат обработки запроса: выполнен
Чтение списка шаблонов
http://SERVER_URL/api/TemplatesApi/List— путь к методу API для чтения списка шаблонов приложенийPOST— тип запроса"filter":{}— фильтр шаблоновOK— статус обработки запросаhh:mm:ss— длительность обработки запросаPOST completed— результат обработки запроса: выполнен
Чтение списка связанных шаблонов
http://SERVER_URL/api/TemplatesApi/GetUsages/oa.ID— путь к методу API для чтения списка шаблонов, связанных с указанным шаблономGET— тип запроса{"id":"oa.ID"}— тело запроса с идентификатором шаблонаOK— статус обработки запросаhh:mm:ss— длительность обработки запросаGET completed— результат обработки запроса: выполнен
Копирование объекта
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/FormDesigner/CloneRecordForm 'POST: "{"recordTypeId":"oa.91","cloningFormId":"form.3355","newName":"New Form Name","newAlias":"NewFormSystemName"}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/FormDesigner/CloneRecordForm 200 HH:mm:ss.SSS 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/FormDesigner/CloneRecordForm— путь к методу API для копирования формыPOST— тип запроса{"recordTypeId":"oa.ID","cloningFormId":"form.ID","newName":"New Form Name","newAlias":"NewFormSystemName"}— тело запроса:"recordTypeId":"oa.ID"— идентификатор шаблона записи"cloningFormId":"form.ID"— идентификатор исходной формы"newName":"New Form Name"— название новой формы"newAlias":"NewFormSystemName"— системное имя новой формы
200— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPOST completed— результат обработки запроса: выполнен
Изменение объекта
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RecordTypeContextApi 'POST: "{"property":{"Unique":false,"Obsolete":false,"Indexed":true,"Tracked":true,"DigitGrouping":true,"Calculated":false,"CalculateExpression":"","RecordTypeId":"oa.91","DisplayAttribute":false,"IgnoreUniqueErrors":false,"Type":0,"Format":29,"Name":"Attribute Name","Alias":"AttributeSystemName","IsSystem":false,"IsMultiValue":false,"IsMandatory":false,"IsOwnership":false,"PossibleValueExpression":""}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RecordTypeContextApi OK HH:mm:ss.SSS 'POST completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RecordTypeContextApi— путь к методу API для изменения атрибута шаблонаPOST— тип запроса"property":{}— тело запроса со свойствами атрибута:"RecordTypeId":"oa.ID"— идентификатор шаблона записи, атрибут которого требуется изменить"Name":"Attribute Name"— название атрибута"Alias":"AttributeSystemName"— системное имя атрибута
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запроса
POST completed — результат обработки запроса: выполнен
Удаление объекта
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/RecordTypeContextApi/Delete/op.941 'DELETE: "{"id":"op.941"}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/RecordTypeContextApi/Delete/op.941 OK HH:mm:ss.SSS 'DELETE completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/RecordTypeContextApi/Delete/op.ID— путь к методу API для удаления шаблонаDELETE— тип запроса{"id":"op.ID"}"— тело запроса: идентификатор шаблона, подлежащего удалениюOK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаDELETE completed— результат обработки запроса: выполнен
Установка прав доступа на объект
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'PUT: "{"role":{"Id":"role.26","Name":"Role Name","Alias":"RoleSystemName","Workspace":{"Id":"workspace.1","Name":"Workspace Name"},"Solution":"sln.1","Creator":"account.6","CreationDate":"2023-10-25T17:58:03+00:00","LastWriteDate":"2023-10-25T20:15:39+00:00","Members":["account.194"],"IsActive":true,"IsPredefined":false,"RoleType":1,"RootResource":{"Id":"rrpd.2329","Name":"Application Name","Role":"role.26","Children":[{"Name":"Resource name","Children":[],"Target":"oa.89","TargetType":20,"Privileges":204,"AvailablePrivileges":719},{"Id":"rrpd.2330","Name":"Organizational unit template","Role":"role.26","Children":[{"Id":"rrpd.2331","Name":"All records","Role":"role.26","Children":[],"Target":"lst.13","TargetType":14,"Privileges":4,"AvailablePrivileges":4}],"Target":"os.1","TargetType":22,"Privileges":132,"AvailablePrivileges":204}],"Target":"sln.1","TargetType":4,"Privileges":204,"AvailablePrivileges":716},"CreatorName":"Full Name"}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Read","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Create","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Update","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение добавлено в роль' '{"Privilege":"Delete","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put OK HH:mm:ss.SSS 'PUT completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RolesCollectionApi/Put— путь к методу API для изменения ролиPUT— тип запросаrole— тело запроса:"Id":"role.ID"— идентификатор роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Workspace":{"Id":"workspace.ID","Name":"Workspace Name"}— свойства раздела навигации, к которому привязана системная роль"Solution":"sln.ID"— идентификатор приложения"IsPredefined":false— непредустановленная роль"RoleType":1— тип роли:- 0 — системная стандартная
- 1 — роль в приложении
- 2 — системная пользовательская
"Members":[]— массив идентификаторов учётных записей и групп, входящих в роль
"RootResource":{}— приложение, к ресурсам которого роль задаёт разрешения"Children":[{"Name":"Resource name","Children":[],"Target":"resource.ID","TargetType":XX,"Privileges":XXX,"AvailablePrivileges":XXX}]— массив ресурсов, к которым роль задаёт разрешения"Target":"resource.ID"— идентификатор ресурса"TargetType":XX— код типа ресурса"Privileges":XXX— код установленных разрешений"AvailablePrivileges":XXX— код доступных разрешений
Разрешение добавлено в роль— описание события'{"Privilege":"Read","Role":"[applicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'— тело запроса:"Privilege":"Read"— тип добавленного разрешения:Create— созданиеDelete— удалениеRead— чтениеUpdate— запись
"Role":"[ApplicationSystemName] RoleSystemName"— свойства роли:ApplicationSystemName— системное имя приложенияRoleSystemName— системное имя роли
"RoleType":"BusinessApp"— тип роли:BusinessApp— роль в приложенииSystem— системная
"Resource":"[ParentSystemName] ResourceSystemName"путь к ресурсу, на доступ к которому предоставлено разрешение:parentSystemName— системное имя родительского ресурсаResourceSystemName— системное имя ресурса
"ResourceType":"RecordTemplate"— тип ресурса, на доступ к которому предоставлено разрешение:BusinessApp— приложениеChangeJournal— журнал измененийFrom— формаList— таблицаOrgStructureTemplate— шаблон оргединицыOperation— кнопкаProcessTemplate— шаблон процессаRecordTemplate— шаблон записиRoleTemplate— шаблон роли
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPUT completed— результат обработки запроса: выполнен
Изменение прав доступа на объект
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'PUT: "{"role":{"Id":"role.26","Name":"ТЕст","Alias":"TEst","Workspace":{"Id":"workspace.1","Name":"Workspace Name"},"Solution":"sln.1","Creator":"account.6","CreationDate":"2023-10-25T17:58:03+00:00","LastWriteDate":"2023-10-25T20:15:39+00:00","Members":["account.194"],"IsActive":true,"IsPredefined":false,"RoleType":1,"RootResource":{"Id":"rrpd.2329","Name":"Application name","Role":"role.26","Children":[{"Name":"Resource name","Children":[],"Target":"oa.89","TargetType":20,"Privileges":76,"AvailablePrivileges":719},{"Id":"rrpd.2330","Name":"Organizational unit template","Role":"role.26","Children":[{"Id":"rrpd.2331","Name":"All records","Role":"role.26","Children":[],"Target":"lst.13","TargetType":14,"Privileges":4,"AvailablePrivileges":4}],"Target":"os.1","TargetType":22,"Privileges":132,"AvailablePrivileges":204}],"Target":"sln.1","TargetType":4,"Privileges":204,"AvailablePrivileges":716},"CreatorName":"Full Name"}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put 'Разрешение удалено из роли' '{"Privilege":"Delete","Role":"[ApplicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/api/RolesCollectionApi/Put OK HH:mm:ss.SSS 'PUT completed' ''
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— имя пользователя, изменившего рольXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/RolesCollectionApi/Put— путь к методу API для изменения ролиPUT— тип запросаrole— тело запроса:"Id":"role.ID"— идентификатор роли"Name":"Role Name"— название роли"Alias":"RoleSystemName"— системное имя роли"Workspace":{"Id":"workspace.ID","Name":"Workspace Name"}— свойства раздела навигации, к которому привязана системная роль"Solution":"sln.ID"— идентификатор приложения"IsPredefined":false— непредустановленная роль"RoleType":1— тип роли:- 0 — системная стандартная
- 1 — роль в приложении
- 2 — системная пользовательская
"Members":[]— массив идентификаторов учётных записей и групп, входящих в роль
"RootResource":{}— приложение, к ресурсам которого роль задаёт разрешения"Children":[{"Name":"Resource name","Children":[],"Target":"resource.ID","TargetType":XX,"Privileges":XXX,"AvailablePrivileges":XXX}]— массив ресурсов, к которым роль задаёт разрешения"Target":"resource.ID"— идентификатор ресурса"TargetType":XX— код типа ресурса"Privileges":XXX— код установленных разрешений"AvailablePrivileges":XXX— код доступных разрешений
Разрешение удалено из роли— описание события'{"Privilege":"Read","Role":"[applicationSystemName] RoleSystemName","RoleType":"BusinessApp","Resource":"[ParentSystemName] ResourceSystemName","ResourceType":"RecordTemplate"}'— тело запроса:"Privilege":"Read"— тип добавленного разрешения:Create— созданиеDelete— удалениеRead— чтениеUpdate— запись
"Role":"[ApplicationSystemName] RoleSystemName"— свойства роли:ApplicationSystemName— системное имя приложенияRoleSystemName— системное имя роли
"RoleType":"BusinessApp"— тип роли:BusinessApp— роль в приложенииSystem— системная
"Resource":"[ParentSystemName] ResourceSystemName"путь к ресурсу, на доступ к которому предоставлено разрешение:parentSystemName— системное имя родительского ресурсаResourceSystemName— системное имя ресурса
"ResourceType":"RecordTemplate"— тип ресурса, на доступ к которому предоставлено разрешение:BusinessApp— приложениеChangeJournal— журнал измененийFrom— формаList— таблицаOrgStructureTemplate— шаблон оргединицыOperation— кнопкаProcessTemplate— шаблон процессаRecordTemplate— шаблон записиRoleTemplate— шаблон роли
OK— статус обработки запросаhh:mm:ss.SSS— длительность обработки запросаPUT completed— результат обработки запроса: выполнен
Начало работы (запуск) системы
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount ::1 Экземпляр Comindware Business Application Platform запущен.
Системная информация:
Сервер: ubuntu-vm-server-gen2
База данных: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Операционная система: Unix 5.15.0.89
Версия: X.X.XXXX.X
Часовой пояс: Europe/Moscow
Язык: ru
Путь к конфигурации: /var/www/instancename
Путь к базе данных: /var/lib/comindware/instancename/Database
Путь к загруженным файлам: /var/lib/comindware/instancename/Streams
Аутентификация IIS: Anonymous
Аутентификация приложения: Ldap | Builtin
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount PerformanceHelper.Perform: FullTextSearchService.RebuildThreadWorker() succeed Time:59184ms TotalGCMemory:472MB DeltaGCMemory:-146MB TotalProcessMemory:462MB DeltaProcessMemory:0MB
Версия 4.2 (Windows)
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount Comindware Business Application Platform has started.
System information:
Server: SERVERNAME
Database: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
OperatingSystem: Microsoft Windows NT XXX.XXX.XXX.XXX
Version: X.X.XXXX.X
Timezone: Europe/Moscow
Language: ru
Config path: E:\\instancename\\Config
Database path: E:\\instancename\\Data
Streams path: F:\\instancename\\Streams
IIS authentication: Anonymous
Application authentication: Anonymous
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаsystemAccount— учётная запись, запустившая систему::1— идентификатор локального хоста вместо IP-адресаComindware Business Application Platform has started— описание события: система запущенаSystem information— сведения о системеServer: SERVERNAME— имя сервераDatabase: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx— идентификатор базы данных экземпляра ПОOperatingSystem: Microsoft Windows NT XXX.XXX.XXX.XXX— наименование и номер версии операционной системы сервераVersion: X.X.XXXX.X— версия ПО Comindware Business Application PlatformTimezone: Europe/Moscow— часовой пояс экземпляра ПОLanguage: ru— язык экземпляра ПОConfig path: E:\npd\Config— путь к конфигурацииDatabase path: E:\xxx\Data— путь к базе данныхStreams path: F:\xxx\Streams— путь к загруженным файламIIS authentication: Anonimous | Ldap | Builtin— способ Windows-аутентификации экземпляра ПОApplication authentication: Anonimous | Ldap | Builtin— способ аутентификации экземпляра ПО
PerformanceHelper.Perform: FullTextSearchService.RebuildThreadWorker() succeed—запущена системная служба полнотекстового поискаTime:59184ms— длительность запуска службыTotalGCMemory:XXXMB— память, выделенная сборщику мусораDeltaGCMemory:-XXXMB— изменение памяти, выделенной сборщику мусораTotalProcessMemory:XXXMB— память, выделенная системеDeltaProcessMemory:XXXMB— изменение памяти, выделенной системе
Окончание (остановка) работы системы
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount Comindware Business Application Platform has stopped.
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаsystemAccount— учётная запись, запустившая системуComindware Business Application Platform has started— описание события: система остановлена
Запуск сервиса/службы/модуля
Пример события
2023-11-30 14:34:23,448 INFO 00000000-0000-0000-0000-000000000000 systemAccount Core is loading
2023-11-30 14:34:25,586 INFO 00000000-0000-0000-0000-000000000000 systemAccount Initialize account cache: 425ms
2023-11-30 14:34:34,407 INFO 00000000-0000-0000-0000-000000000000 systemAccount Restore Sessions: 8821ms
2023-11-30 14:34:34,491 INFO 00000000-0000-0000-0000-000000000000 systemAccount Initialize license service: 83ms
2023-11-30 14:34:34,533 INFO 00000000-0000-0000-0000-000000000000 systemAccount Initialize routers: 0ms
2023-11-30 14:34:35,113 INFO 00000000-0000-0000-0000-000000000000 systemAccount Initialize document converters: 501ms
2023-11-30 14:34:35,116 INFO 00000000-0000-0000-0000-000000000000 systemAccount Synchronization with platform configuration 2ms
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаsystemAccount— учётная запись, запустившая сервисCore is loading— запуск сервиса CoreInitialize account cache: 425ms— запущен сервис CoreRestore Sessions: 8821ms— запущен сервис CoreInitialize license service: 83ms— запущен сервис CoreInitialize routers: 0ms— запущен сервис CoreInitialize document converters: 501ms— запущен сервис Core
Остановка\сбой системы (компонент, сервисов, инстансов)
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount Comindware Business Application Platform has stopped.
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаsystemAccount— учётная запись, остановившая системуComindware Business Application Platform has started— описание события: система остановлена
Успешный результат выполнения процесса
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/UserCommandExecution/Prepare 'POST: "{"contextChanges":{"CommandId":"event.ID","ContextObjects":[]}}"' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 username XXX.XXX.XXX.XXX http://SERVER\_URL/UserCommandExecution/Prepare 200 HH:mm:ss.SSS 'POST completed' ''
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount Process runned count=11 (completed=3) lastRunTime="DD.MM.YYYY HH:mm:ss"; scripts started=1 (failed=0); worker threads started=7 (failed=0); messages total=0 (failed=0).
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаusername— учётная запись, запустившая процессXXX.XXX.XXX.XXX— IP-адрес сервераhttp://SERVER_URL/api/TemplatesApi/Create— путь к методу API для создания шаблонаPOST— тип запроса-
"contextChanges":{}— данные для запуска процесса:"CommandId":"event.ID"— идентификатор кнопки, по нажатию которой был запущен процесс"ContextObjects":[]— массив идентификаторов записей, по которым был запущен процесс
-
systemAccount— учётная запись, запустившая службу Process runned count=11 (completed=3)— количество запущенных экземпляров процесса (количество завершённых экземпляров процесса)lastRunTime="DD.MM.YYYY hh:mm:ss"— время последнего выполнения процессаscripts started=1 (failed=0)— количество запущенных сценариев (количество завершившихся с ошибкой сценариев)worker threads started=7 (failed=0)— количество запущенных потоков системных служб (количество завершившихся с ошибкой системных служб)messages total=0 (failed=0)— количество переданных сообщений (количество сообщений, переданных с ошибкой)
Успешный результат выполнения сервиса
Пример события
-MM-dd HH:mm:ss,SSS INFO 00000000-0000-0000-0000-000000000000 systemAccount Core Loaded
Поля события
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационное00000000-0000-0000-0000-000000000000— идентификатор сеансаsystemAccount— учётная запись, запустившая сервисCore Loaded— запущен сервис Core
Событие в адаптере
Пример события
[yyy-MM-dd HH:mm:ss,SSS][INFO][Getting meta for plugin XxxSenderAdapter.] Platform key: XXX\_AdapterAgent5b28ad88a4cb4d4f8078c4deef1ee08b; Service name: ServiceName; Runtime: .NET 6.0.21
[2023-12-08 00:10:20,667][INFO][Meta is ready for XxxSenderAdapter.] Platform key: XXX\_AdapterAgent5b28ad88a4cb4d4f8078c4deef1ee08b; Service name: ServiceName; Runtime: .NET 6.0.21
data: {"Name":"XxxSenderAdapter","Description":"Адаптер для связи с системой «XXX»","Direction":"Outgoing","EndpointDefinitionJson":"{}}
yyyy-MM-dd HH:mm:ss,SSS— дата и время событияINFO— тип события: информационноеGetting meta for plugin XxxSenderAdapter— описание событияPlatform key: XXX_AdapterAgent5b28ad88a4cb4d4f8078c4deef1ee08b; Service name: ServiceName; Runtime: .NET 6.0.21— контекст событияdata: {}— содержимое сообщения
Связанные статьи
Эта статья была полезна 2 чел.