- 5 minutes to read

Prerequisites for the Nodinite Log4Net Appender

Prepare your .NET Framework development environment to integrate the Nodinite Log4Net Appender NuGet package. This page outlines the software, network, and security requirements needed to successfully add centralized logging to your applications.

With this guide, you will:

  • ✅ Ensure your development environment is compatible with the NuGet package
  • ✅ Meet all network and security prerequisites
  • ✅ Enable robust, centralized monitoring and logging
  • ✅ Avoid common configuration issues

This page describes the prerequisites for using the Nodinite Log4Net Appender NuGet package in your .NET Framework projects.

graph LR subgraph "Visual Studio .NET Framework Projects" roVS[fal:fa-file-code Visual Studio] --> | NuGet | roLA(fal:fa-comment-times Nodinite Log4Net Appender) roNET1[fal:fa-code .NET Application] --> | Log4NET | roLA roNET2(fal:fa-globe Web Service) --> | Log4NET | roLA end subgraph "Nodinite" roLogAPI(fal:fa-cloud-arrow-down Log API) roLA --> | HTTPS | roLogAPI roLogAPI --> roDB(fal:fa-database Log Databases) end

The Nodinite Log4Net Appender is a NuGet package that you install in your .NET Framework projects using Visual Studio, Visual Studio Code, or the .NET CLI. Your applications can run on-premise using TCP/IP for local network access, or in the cloud/off-site with an appropriate network connection to the Nodinite Log API.

Verified Topic
Software Requirements
What User Rights does the Log4Net Appender require?
What Firewall settings are required?

Software Requirements

The Nodinite Log4Net Appender is distributed as a NuGet package available on NuGet.org.

Nodinite.LogAgent.Log4NetAppender on NuGet.org

Development Environment

Product Requirements
Visual Studio Visual Studio 2019, 2022, or later
Visual Studio Code with C# extension
.NET CLI (dotnet.exe)
NuGet Package Manager Included with Visual Studio
NuGet CLI for command-line scenarios
.NET Framework .NET Standard 2.0 compatible
.NET Framework 4.6.2 or later
.NET Framework 4.7.2 or later (recommended)
Log4Net Apache log4net 2.0.8 or later (installed as dependency)

Runtime Environment

Product Versions
Windows Server Windows Server 2025
Windows Server 2022
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
.NET Framework .NET Framework 4.6.2 or later
.NET Framework 4.7.2 or later (recommended)
Azure Azure App Service
Azure Virtual Machines
Azure Container Instances (Windows containers)

Supported Versions

The Nodinite Log4Net Appender is built using the Apache log4net package from NuGet and targets .NET Standard 2.0. Please review the Apache Log4Net release notes for additional information.

Subscribe to Release Notes to stay informed about new versions and features.

What User Rights does the Log4Net Appender require?

The Nodinite Log4Net Appender executes on the same thread as your Log4Net-enabled .NET Framework application. The appender creates a Nodinite JSON Log Event and posts it to the Nodinite Log API over the network.

Required Permissions

  • Network Access: The application must be able to make outbound HTTP/HTTPS requests to the Nodinite Log API endpoint
  • Application Permissions: The user account or service identity running the application must have standard .NET Framework execution permissions
  • No Special Privileges: No administrative or elevated privileges are required

Local firewalls or network policies may block outbound traffic to the Log API; see the firewall settings.

What Firewall settings are required?

The Nodinite Log4Net Appender runs inside your application, so every connection is outbound from the Application Server. The LogApiServiceURI setting decides the path: straight to the Nodinite Log API, or to a folder that the Nodinite Pickup Service reads and forwards. Each arrow starts at the side that opens the connection.

graph LR subgraph "Application Server" roNET(fa:fa-window-alt .NET App with Log4Net Appender) end subgraph "Nodinite Core Services Server" roLogAPI(fa:fa-cloud-arrow-down Log API) roPickup(fa:fa-truck-pickup Pickup Service) end subgraph "Intermediate storage (optional)" roShare(fa:fa-folder File share) end subgraph "SQL Server (Nodinite databases)" roDB(fa:fa-database Log Databases) end subgraph "DNS Server" roDNS(fa:fa-signs-post DNS) end roNET --> |"Log API site port"| roLogAPI roNET -.-> |"445 (UNC path)"| roShare roPickup -.-> |"445"| roShare roPickup -.-> |"Log API site port"| roLogAPI roLogAPI -.-> |"1433"| roDB roNET --> |"53"| roDNS

Network diagram: the appender posts Log Events to the Log API, or writes files that the Pickup Service picks up. Dashed arrows are optional hops or hops documented on other pages.

Note

No Monitoring Service or Agent Server hop exists: the appender is a library in your application, and nothing calls into it. When the application runs on the Core Services Server, you need no firewall rule for the Log API hop.

Between the Log4Net Appender and the Log API

Required when LogApiServiceURI is a Log API address. On Windows Server, Nodinite v7 hosts the Log API as its own IIS web site, on a port you set per environment in the Nodinite Portal (Servers step); the address is https://{host}:{port}/LogAPI/.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Application Server Core Services Server TCP (HTTPS/HTTP) Log API site port Post JSON Log Events to the Log API v7. No fixed default; use the port set in the Portal and in LogApiServiceURI. The call is synchronous
Inbound Core Services Server Application Server TCP Log API site port Response traffic Automatically allowed by stateful firewall inspection

Tip

Use HTTPS with a valid TLS certificate in production; see the Hardening guide. The application's service account or app identity needs network access to the Log API endpoint.

Between the Log4Net Appender and the intermediate storage

Required only when LogApiServiceURI is a folder on a network share (UNC path). A local folder needs no firewall rule.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Application Server File share TCP 445 Write Log Event files (SMB) Windows authentication also needs the Domain Controller ports

The Pickup Service then reads the folder and posts the Log Events to the Log API; its ports are in the Pickup Service firewall settings.

Between the Log API and the Log Databases

The Log API writes to the Log Databases on SQL Server. That Core Services hop is documented in the Log API firewall settings; it needs no rule on the Application Server.

Between the servers and DNS

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Application Server DNS Server TCP/UDP 53 Name resolution Resolve the Core Services Server (and the file share). A local hosts file can replace DNS

Important

Stateful Firewalls: Most Windows Firewall implementations are stateful, so response traffic for established outbound connections is allowed automatically. The inbound response rules above are for reference and troubleshooting.


Frequently asked questions

Additional solutions to common problems and the FAQ for the Nodinite Log4Net Appender exist in the Troubleshooting user guide.

Next Steps

Install the Log4Net Appender

Administration
Log API
JSON Log Event