Enable Logging
New 3.0.14
Gain full visibility and control over every LDAP operation with Nodinite's advanced logging capabilities. This guide shows you how to enable, configure, and maximize logging for the Nodinite LDAP Web API.
✅ Audit, debug, and trace all LDAP operations in real time
✅ Achieve true end-to-end logging for compliance and troubleshooting
✅ Leverage flexible Serilog appenders for on-premises and cloud
✅ Secure sensitive data and meet enterprise requirements
Helps you debug, trace, and audit all LDAP operations performed by the Nodinite LDAP Web API.
Nodinite provides a robust support and maintenance toolset with a Logging feature that enables a true end-to-end logging solution. The LDAP Web API integrates seamlessly with Nodinite Serilog appenders, so you capture every request and response for complete traceability.
Type | Description |
---|---|
Request | You send a query with potentially changing operations |
Response | You receive the result from the query |
HTTP Context | You choose whether to include HTTP headers |
Diagram: End-to-end flow of LDAP operations and logging in Nodinite LDAP Web API.
This feature empowers you to log all operations using the standard logging strategy for Nodinite. Use any of the following Nodinite Serilog appenders to create a JSON-based Log Event. You use the Pickup Log Events Service Logging Agent.
Configuration Files
To enable logging, update the following files:
- settings.json
- appsettings.json
Use Notepad++ or another text editor. Open the file with administrative privileges so you can save your changes.
You can use any Nodinite Serilog sink (or any compatible custom/third-party sink) as long as you use a supported version of Serilog. We publish new versions after every patch Tuesday.
We ship the binaries with the following Nodinite Serilog sinks:
- File (ideal for on-premises solutions)
- Name:
Nodinite.Serilog.FileSink
- Folder:
C:\\Temp\\Nodinite\\LDAP
- Args
- FileExtension: ".json"
- Name:
- Blob (ideal for Azure/cloud solutions)
- Name:
Nodinite.Serilog.AzureBlobStorageSink
Then, according to the Blob Storage documentation, use any of the following to connect with the container: - Connection string (example on this page)
- System managed identity
- Named managed identity
- Name:
In the settings.json
file, the following fields determine what to include in the logging:
Field | Value example | Description |
---|---|---|
LogRequest | true or false |
Flag to indicate whether to log the Request |
LogResponse | true or false |
Flag to indicate whether to log the Response |
LogHttpHeaders | true or false |
Flag to indicate whether to log HTTP Headers |
Important
Logged events may include sensitive data! Restrict access to the intermediate storage.
settings.json
{
"LogRequest": true,
"LogResponse": true,
"LogHttpHeaders": true,
"RunningInAzure": null,
"Connections": [
{
"Id": "f8caa70f-e9eb-4e39-a93f-6c7ee302bdb8",
"AuthenticationType": 2,
"DSAServer": "DC01",
"DSAServerPort": 389,
"UserName": "DEV\\Administrator",
"Password": "Password",
"KeyVaultPassword": null
}
]
}
File Example Settings
Below is an example enabling logging using the Nodinite File sink Serilog appender.
appsettings.json (file)
{
"https_port": 443,
"ProductKey": {
"CustomerName": "CustomerName",
"Key": "ProductKey"
},
"ConnectionStrings": {
"appConfiguration": ""
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"Serilog": {
"Using": [ "Nodinite.Serilog.FileSink" ],
"WriteTo": [
{
"Name": "NodiniteFileSink",
"Args": {
"Folder": "C:\\Temp\\Nodinite\\LDAP",
"Settings": {
"LogAgentValueId": 503,
"LogOnlyMessagesWithBody": "false",
"FileExtension": ".json"
}
}
}
]
},
"AppConfigEndpoint": "https://devsettings.azconfig.io",
"AllowedHosts": "*"
}
Blob Storage Example
Below is an example enabling logging using the Nodinite Blob Storage sink Serilog appender.
appsettings.json (Blob)
{
"https_port": 443,
"ProductKey": {
"CustomerName": "CustomerName",
"Key": "ProductKey"
},
"ConnectionStrings": {
"appConfiguration": ""
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"Serilog": {
"Using": [ "Nodinite.Serilog.AzureBlobStorageSink" ],
"WriteTo": [
{
"Name": "NodiniteAzureBlobStorageSinkWithConnectionString",
"Args": {
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=acme;AccountKey=xyz;EndpointSuffix=core.windows.net",
"ContainerName": "logevents",
"Settings": {
"LogAgentValueId": 503,
"LogOnlyMessagesWithBody": "false",
"FileExtension": ".json"
}
}
}
]
},
"AppConfigEndpoint": "https://devsettings.azconfig.io",
"AllowedHosts": "*"
}
Next Step
- Learn more about Serilog integration for advanced logging
- Explore the Pickup Log Events Service Logging Agent for automated log collection
- Review LDAP Web API features and configuration