Logging supports different log levels to have the desired granularity. Default logging is set to Information.
To change log level adjust MinimumLevel.Default as follows:
- Debug: provides detailed information useful for troubleshooting.
- Information: the default logging level, capturing general operational messages.
- Warning: only highlights potentially harmful situations.
- Error: logs only issues that affect functionality or cause interruptions.
- Fatal: reserved for very critical issues that require immediate attention.
A typical appsettings.json configuration file appears as follows depends on the desired Serilog Sink:
- for File Serilog Sink
Default maximum size of a log file is 500Mb which can be adjust by changing fileSizeLimitBytes
Rolling interval is configured to be daily by the rollingIntervalor on file size limit rollOnFileSizeLimit: true
Default limit of retained files is set to 10 using the retainedFileCountLimit property
{ "Serilog": { "Using": [], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning", "Microsoft.Hosting.Lifetime": "Warning" } }, "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithProcessName", "WithThreadId" ], "WriteTo": [ { "Name": "File", "Args": { "buffered": false, "fileSizeLimitBytes": 500000000, "outputTemplate": "[{Timestamp:u}] [{Level}] {Namespace}: {Message:lj}{NewLine}{Exception}", "path": "logs/log.txt", "retainedFileCountLimit": "10", "rollingInterval": "Day", "rollOnFileSizeLimit": true } } ] }}- for HTTP Serilog Sink
{ "Serilog": { "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithProcessName", "WithThreadId" ], "WriteTo": [ { "Name": "Http", "Args": { "requestUri": "<REQUEST_URI>", "queueLimitBytes": null } } ] }}- for Syslog Serilog Sink
{ "Serilog": { "Using": [ "Serilog.Sinks.Syslog" ], "MinimumLevel": { "Default": "Information", "Override": { "Microsoft": "Warning", "System": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "Enrich": [ "FromLogContext", "WithMachineName", "WithProcessId", "WithProcessName", "WithThreadId" ], "WriteTo": [ { "Name": "TcpSyslog", "Args": { "host": "<HOST>", "port": 514, "appName": "MetaDefenderStorageSecurity", "format": "RFC5424", "facility": "<SYSLOG_FACILITY_NAME>", "outputTemplate": "[{Timestamp:u}] [{Level}] {SourceContext}: {Message:lj}{NewLine}{Exception}" } } ] }}Linux-based systems
Use the appsettings.json file from the configurations directory
Note: The default path on Linux is/etc/mdss/configurations.
On Linux, logging settings are applied immediately after any changes, so a system restart is not required.
Windows-based systems
On Windows systems, each service has its own logging configuration file. You can locate the appsettings.json file by navigating to the service's directory and then accessing the specific <service> folder.
Note: The default path on Windows is C:\Program Files\OPSWAT\MetaDefender Storage Security\services\.
On Windows, logging settings take effect only after the service has been restarted.
