Logging Options Overview
The Nextcloud Exchange Connector utilizes a robust, asynchronous logging framework based on Serilog. This system allows administrators to direct diagnostic data to multiple destinations simultaneously, making it highly adaptable to both Docker and Binary deployment architectures.
Rather than writing logs to a single location, the connector supports four distinct output methods. You can enable these individually or combine them based on your infrastructure needs.
Pro Tip: It is highly recommended to use Console logging during initial setup. It provides immediate visibility into application behavior and is the simplest option for troubleshooting during initial setup.
Console Output
How it works: Logs are printed directly to the console.
Best used for: Initial setup verification and real-time monitoring.
Refer to Console Logging Configuration article for the console logging setup guide.
Database Output
How it works: Logs are written directly into an automatically generated
Logstable within your primary synchronization database.Best used for: Single-instance setups where administrators prefer to query and filter logs using their existing database management tools (like pgAdmin or DBeaver).
Refer to Database Logging Configuration article for the database logging setup guide.
Warning for Multi-Instance Deployments
Do not use Database logging if you are running a Multi-Instance architecture. As your organization scales, the sheer volume of log writing requests from multiple worker nodes can quickly overload and crash the database.
File System Output
How it works: Logs are saved as standard
.txtfiles in a dedicated directory on the host machine. The application handles automatic file rotation, creating new files when a size limit is reached and deleting old files to conserve disk space.Best used for: Long-term archival and environments with strict data retention policies.
Deployment fit: This is the highly recommended approach for Binary installations. The application will automatically generate the configured log folder directly inside each worker's root directory, keeping logs perfectly isolated per instance.
Refer to File System Logging Configuration article for the file system logging setup guide.
Grafana & Loki Output
How it works: Logs are pushed to Loki and visualized through a dedicated Grafana dashboard web interface.
Best used for: Advanced, real-time observability in large Docker environments. Grafana provides powerful filtering tools to isolate logs by instance, severity, or specific error codes.
Deployment fit: Pre-configured for Docker deployments via the
docker-compose.grafana.ymlcomponent.
Refer to Grafana Logging Configuration article for the Grafana logging setup guide.
Security Note
By design, the Grafana web interface is bound exclusively to the local host machine (127.0.0.1). It is intentionally not exposed to external networks to prevent unauthorized access to your system logs.
Bitwise Configuration
The connector uses a bitwise mathematical configuration to allow multiple logging outputs simultaneously. You activate your desired methods by summing their assigned values and setting the total in the Service__LoggingConfiguration__LogsOutput parameter of your .env file.
Logging Output | Bitwise Value |
None |
|
Console |
|
Database |
|
File System |
|
Grafana / Loki |
|
Example: To log to both the Console (1) and the File System (4), you would set your output value to 5.
Global Log Levels
Regardless of which output destination you choose, you have strict control over how verbose the logs are. The available levels are Information, Debug, Warning, and Error.
Best Practice: For production environments, the default and recommended level is Error. You should only change this value to Debug if explicitly instructed by Sendent Support to capture detailed diagnostics for bug resolution. The Debug level generates a massive amount of data and can quickly consume disk space or database performance.