User Activity Logging
When searching for user activity in your logs, there are certain signatures that will help isolate your search to relevant values. These signatures are detailed in the sections below.
User activity logs are available under the following conditions:
- Log level is set to
info
. - "Publish change notifications" is enabled on the [Cinchy].[Users] and [Cinchy].[Groups] tables (Design Table > Change Notifications).
Failed logins
Common failed login errors include:
Account has been locked
Log Signature | Description |
---|---|
@mt (Message) | LoginFailed: Account has been locked: {Username} |
Username | The Cinchy Username of the user who's account has been locked |
Example
{
"@t": "2024-01-08T19:34:40.3046405Z",
"@mt": "LoginFailed: Account has been locked: {Username}",
"Username": "Bob Jones",
"SourceContext": "Cinchy.IdP.Controllers.Account.AccountController",
"CorrelationId": "363d3d96-8f59-496d-bd12-154a68a2da59",
"UserId": "",
"SessionId": "",
"RequestId": "0HN0GFSR7J5A4:0000005F",
"RequestPath": "/Account/Login",
"ConnectionId": "0HN0GFSR7J5A4",
"ActionId": "3d5db24a-0a8f-43a7-867b-20cab3cab6f0",
"ActionName": "Cinchy.IdP.Controllers.Account.AccountController.Login (Cinchy.IdP)"
}
Account has been disabled
Log Signature | Description |
---|---|
@mt (Message) | LoginFailed: Account has been disabled: {Username} |
Username | The Cinchy Username of the user who's account has been disabled. |
Example
{
"@t": "2024-01-08T19:56:17.8069643Z",
"@mt": "LoginFailed: Account has been disabled: {Username}",
"Username": "Bob Jones2",
"SourceContext": "Cinchy.IdP.Controllers.Account.AccountController",
"CorrelationId": "c478aa07-8874-49f6-9ed3-7628b722264c",
"UserId": "",
"SessionId": "",
"RequestId": "0HN0GFSR7J5AN:000000FB",
"RequestPath": "/Account/Login",
"ConnectionId": "0HN0GFSR7J5AN",
"ActionId": "3d5db24a-0a8f-43a7-867b-20cab3cab6f0",
"ActionName": "Cinchy.IdP.Controllers.Account.AccountController.Login (Cinchy.IdP)"
}
Login or Password are incorrect
Log Signature | Description |
---|---|
@mt (Message) | LoginFailed: Login or Password are incorrect: {Username} |
Username | The Cinchy Username of the user who entered the incorrect login details |
Example
{
"@t": "2024-01-08T19:32:41.1175946Z",
"@mt": "LoginFailed: Login or Password are incorrect: {Username}",
"Username": "Bob Jones",
"SourceContext": "Cinchy.IdP.Controllers.Account.AccountController",
"CorrelationId": "1a222a79-3e34-4f4b-9d21-5f967ded85a4",
"UserId": "",
"SessionId": "",
"RequestId": "0HN0GFSR7J5A9:00000055",
"RequestPath": "/Account/Login",
"ConnectionId": "0HN0GFSR7J5A9",
"ActionId": "3d5db24a-0a8f-43a7-867b-20cab3cab6f0",
"ActionName": "Cinchy.IdP.Controllers.Account.AccountController.Login (Cinchy.IdP)"
}
Changes to the Users table
Common changes to the [Cinchy].[Users] table include:
- Updating a Name column in users table
- Updating a Name column in users table via query builder
- Inserting new user via query builder
- Deleting a record in user table
Log Signature | Description |
---|---|
@mt (Message) | UserChanged: {RowId} and columns changed {FieldsChanged} by {UserId} |
RowId | The Cinchy Id of the modified row |
FieldsChanged | A collection of Columns changed by the user |
UserId | The Cinchy User Id of the user who made the change |
Examples
Update First Name column in users table
{
"@t": "2024-01-08T17:12:36.5027727Z",
"@mt": "UserChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 2047,
"FieldsChanged": "First Name,Name,Display Name",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "c9c6d4bb-fb98-4720-9990-adaba732bbff",
"ActionName": "Cinchy.Web.Controllers.DataController.Update (Cinchy.Web)",
"CorrelationId": "6aaf064c-d98c-4610-a68b-666b3e56341d",
"SessionId": "8175da17-1011-ef29-4a47-822808cbedd3",
"RequestId": "0HN0GAQHF0E09:00000223",
"RequestPath": "/Data/Update",
"ConnectionId": "0HN0GAQHF0E09"
}
Update First Name column in users table via query builder
{
"@t": "2024-01-08T17:42:29.2700750Z",
"@mt": "UserChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 2049,
"FieldsChanged": "First Name,Name,Display Name",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "40c70112-7314-4428-acfa-a4186a1d0a1e",
"ActionName": "Cinchy.Web.Controllers.QueryController.RunQuery (Cinchy.Web)",
"CorrelationId": "b6b7ffab-3e41-4fef-82e1-58b0d0139334",
"SessionId": "8175da17-1011-ef29-4a47-822808cbedd3",
"RequestId": "0HN0GAQHF0E0O:0000000E",
"RequestPath": "/Query/RunQuery",
"ConnectionId": "0HN0GAQHF0E0O"
}
Insert new user via query builder
{
"@t": "2024-01-08T17:14:52.1203357Z",
"@mt": "UserChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 2049,
"FieldsChanged": "Username,Authentication Method,Password,Email Address,Email Verified,First Name,Name,Display Name,Is Disabled,Can Design Tables,Can Design Queries",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "542e6276-4c83-4625-8529-56f8fcf4b713",
"ActionName": "Cinchy.Web.Controllers.QueryController.RunQuery (Cinchy.Web)",
"CorrelationId": "1f862394-ee0c-49aa-8d1d-310a55ddb58a",
"SessionId": "8175da17-1011-ef29-4a47-822808cbedd3",
"RequestId": "0HN0GAR0IRD5L:00000016",
"RequestPath": "/Query/RunQuery",
"ConnectionId": "0HN0GAR0IRD5L"
}
Delete a record in user table
{
"@t": "2024-01-08T17:17:45.2801477Z",
"@mt": "UserChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 2047,
"FieldsChanged": "",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "f194f244-3fab-4eae-9880-a358a499c0b4",
"ActionName": "Cinchy.Web.Controllers.DataController.Delete (Cinchy.Web)",
"CorrelationId": "1d041973-af93-441f-a86a-fa75df474b61",
"SessionId": "",
"RequestId": "0HN0GAR9G1S49:00000007",
"RequestPath": "/Data/Delete",
"ConnectionId": "0HN0GAR9G1S49"
}
Changes to the Groups table
Common changes to the [Cinchy].[Groups] table include:
Log Signature | Description |
---|---|
@mt (Message) | GroupChanged: {RowId} and columns changed {FieldsChanged} by {UserId} |
RowId | The Cinchy Id of the modified row |
FieldsChanged | A collection of Columns changed by the user |
UserId | The Cinchy User Id of the user who made the change |
Examples
Update a column in Groups table
{
"@t": "2024-01-08T20:16:32.2163310Z",
"@mt": "GroupChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 204,
"FieldsChanged": "User Groups",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "c3eccf0a-b51d-4023-81a9-b9ee2283ea8b",
"ActionName": "Cinchy.Web.Controllers.DataController.Update (Cinchy.Web)",
"CorrelationId": "60001114-db8f-46c4-956d-fafa6ee2942a",
"SessionId": "f7889d2e-f838-da46-76fd-b7e76f4a86fd",
"RequestId": "0HN0GFR0CE1SB:00000110",
"RequestPath": "/Data/Update",
"ConnectionId": "0HN0GFR0CE1SB"
}
Delete a record in groups table
{
"@t": "2024-01-08T17:07:48.2510006Z",
"@mt": "GroupChanged: {RowId} and columns changed {FieldsChanged} by {UserId}",
"RowId": 210,
"FieldsChanged": "",
"UserId": 1,
"SourceContext": "Cinchy.Core.Services.TableLoggingService",
"ActionId": "ce1e0050-1df5-4cdf-ac56-507ee6cec676",
"ActionName": "Cinchy.Web.Controllers.DataController.Delete (Cinchy.Web)",
"CorrelationId": "87ae96e7-ae1a-4123-a40c-f9ce727a0ca7",
"SessionId": "",
"RequestId": "0HN0GAQEGHDPK:00000008",
"RequestPath": "/Data/Delete",
"ConnectionId": "0HN0GAQEGHDPK"
}
Data exports from the UI (Tables and Query results)
Common data export result logs include:
Dynamic Query from Query Builder Screen
Log Signature | Description |
---|---|
@mt (Message) | DataExport: {UserId} exported dynamic query: {QueryText} |
UserId | The Cinchy User Id of the user who exported the data |
QueryText | The content of the query |
Example
{
"@t": "2024-01-08T20:05:20.2836963Z",
"@mt": "DataExport: {UserId} exported dynamic query: {QueryText}",
"UserId": 1,
"QueryText": "SELECT [Application Url]\nFROM [Cinchy].[Applets]\nWHERE [Deleted] IS NULL",
"SourceContext": "Cinchy.Web.Services.Implementations.DataExportService",
"ActionId": "ce0a5f1f-3496-4f73-91da-f2eae29ff329",
"ActionName": "Cinchy.Web.Controllers.QueryController.RunQuery (Cinchy.Web)",
"CorrelationId": "fe7625bb-9aad-4319-a14b-d059360c9c61",
"SessionId": "f961bca2-1737-a987-8629-148893043de7",
"RequestId": "0HN0GFM271J2V:00000004",
"RequestPath": "/Query/RunQuery",
"ConnectionId": "0HN0GFM271J2V"
}
Saved Query
Log Signature | Description |
---|---|
@mt (Message) | DataExport: {UserId} exported query {Domain}.{QueryName} with {QueryId} |
UserId | The Cinchy User Id of the user who exported the data |
Domain | The name of the Domain that contains the query |
QueryName | The name of the Saved Query |
QueryId | The Cinchy Id of the Query, as found in the [Cinchy].[Saved Queries] table |
Example
{
"@t": "2024-01-08T20:06:06.0539611Z",
"@mt": "DataExport: {UserId} exported query {Domain}.{QueryName} with {QueryId}",
"UserId": 1,
"Domain": "QA",
"QueryName": "CIN-5927 Saved Query",
"QueryId": 34000000144,
"SourceContext": "Cinchy.Web.Services.Implementations.DataExportService",
"ActionId": "ce0a5f1f-3496-4f73-91da-f2eae29ff329",
"ActionName": "Cinchy.Web.Controllers.QueryController.RunQuery (Cinchy.Web)",
"CorrelationId": "079bd6f8-74b8-427c-b362-c5d261a71f13",
"SessionId": "f961bca2-1737-a987-8629-148893043de7",
"RequestId": "0HN0GFM271J31:00000004",
"RequestPath": "/Query/RunQuery",
"ConnectionId": "0HN0GFM271J31"
}
Manage Data screen
Log Signature | Description |
---|---|
@mt (Message) | DataExport: {UserId} exported {Domain}.{TableName} with {TableId} |
UserId | The Cinchy User Id of the user who exported the data |
Domain | The name of the Domain that contains the table |
TableName | The name of the Table |
TableId | The Cinchy Id of the Table, as found in the [Cinchy].[Tables] table |
Example
{
"@t": "2024-01-08T20:06:33.3050690Z",
"@mt": "DataExport: {UserId} exported {Domain}.{TableName} with {TableId}",
"UserId": 1,
"Domain": "Automation",
"TableName": "ABC",
"TableId": 34000000011,
"SourceContext": "Cinchy.Web.Services.Implementations.DataExportService",
"ActionId": "03fa86db-1acb-493f-8dc6-58ddf41a7349",
"ActionName": "Cinchy.Web.Controllers.DataController.Csv (Cinchy.Web)",
"CorrelationId": "40791619-78a0-4225-89eb-afad52f632e3",
"SessionId": "f961bca2-1737-a987-8629-148893043de7",
"RequestId": "0HN0GFM271J31:00000035",
"RequestPath": "/Data/Csv",
"ConnectionId": "0HN0GFM271J31"
}