Comments (3)
Please share a complete code that compiles, I don't understand what's 'entry' here
Audit.Core.Configuration.AddCustomAction(ActionType.OnEventSaving, async scope =>
{
if (entry.ColumnValues != null)
Are you introducing a closure? Whats the action you are executing and what are you expecting to be logged?
from audit.net.
Audit.Core.Configuration.AddCustomAction(ActionType.OnEventSaving, async scope =>
{
try
{
if (scope != null)
{
var claimsUser = ClaimsPrincipal.Current;
var fullName = claimsUser?.Identity?.Name;
scope.SetCustomField("user", string.IsNullOrEmpty(fullName) ? "" : fullName);
}
foreach (var entry in scope.Event.GetEntityFrameworkEvent()?.Entries)
{
// Fix Primary Key properties
if (entry.PrimaryKey != null)
{
foreach (var pkKey in entry.PrimaryKey.Keys.ToList())
{
entry.PrimaryKey[pkKey] = entry.PrimaryKey[pkKey].ToString();
}
}
//// Fix ColumnValues properties
if (entry.ColumnValues != null)
{
var lastSourceOfModification = entry.ColumnValues["LastSourceOfModification"] ?? string.Empty;
scope.SetCustomField("lastSourceOfModification", lastSourceOfModification);
if (entry.Table == "Patients")
{
var patientId = entry.ColumnValues["Id"] ?? string.Empty;
scope.SetCustomField("patientId", patientId.ToString());
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Audit.Core.Configuration Error: {ex}");
}
});
I needed to set Unique Custom Values for each Entry of the Entries node of the Output JSON.
I am getting a customFields inside the entries Json object but it is always empty there and only
has values in the outermost customFields Json (inside the entityFrameworkEvent Json object only)
from audit.net.
The scope.SetCustomField will override a custom field in the base AuditEvent.
But the entry has its own custom fields property.
Instead of:
scope.SetCustomField("lastSourceOfModification", lastSourceOfModification);
Do:
entry.CustomFields["lastSourceOfModification"] = lastSourceOfModification;
from audit.net.
Related Issues (20)
- AuditCommandInterceptor IncludeReaderResults = true results in "DataReader Open" error HOT 9
- Missing Method Exception: Microsoft.EntityFrameworkCore.Metadata.IEntityType.GetProperties() HOT 3
- Best way to "Include" related entity properties HOT 3
- Audit.EntityFramework.Core add support for EF8 Complex Types HOT 1
- Feature Request: New MongoDB interaction extension to audit a MongoDB .NET Driver instance HOT 1
- How to audit entities that have been changed\deleted because of on cascade behavior? HOT 13
- How to ingest data to AzureTableStorage month wise in the AuditTrail implementation using Audit.NET? HOT 2
- Not available to use dbContext in .UseDbContext<MyDbContext> in Audit.Core.Configuration.Setup HOT 6
- Feature Request - Enable configuration of Azure Blob Storage Tags HOT 3
- CosmoDB & EFCore: Storing document per entry instead of per transation. HOT 4
- Logs to ElasticSearch missing full information from version 23.0.0 HOT 3
- Possibility to set and save the AuditEvent from an external source HOT 2
- Store data to common audit table HOT 5
- How to connect AzureTableStorage using UserAssigned ManagedIdentity in the AuditTrail implementation using Audit.NET? HOT 3
- Add custom value to audit workflow HOT 2
- Fluent Api Configuration for SqlServer HOT 3
- Global AuditDisabled flag doesn't affect collecting of audit data, just the saving of it (at least for Audit.EntityFramework) HOT 4
- Question - Is there a way to set CustomFields for HttpClient audit? HOT 2
- Error with PartitionKey in .NET 8 Web API using Audit.NET and Azure Storage Table HOT 1
- How to use DbContextFactory? HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from audit.net.