Skip to main content
Version: 0.17 (Latest)

Configuration Examples

Here are sample configuration files for different logging scenarios:

FastTransfer_Settings.json for Windows

For logs with Console + Files stored on Windows machine + MSSQL sinks:

{
"ConnectionStrings": {
"MS_FastTransferLogs": "Server=localhost;Database=FastTransferLogs;Integrated Security=SSPI;Encrypt=True;TrustServerCertificate=True"
},
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.File",
"Serilog.Enrichers.Environment",
"Serilog.Enrichers.Thread",
"Serilog.Enrichers.Process",
"Serilog.Enrichers.Context"
],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff zzz} -|- {Application} -|- {runid} -|- {Level:u12} -|- {fulltargetname} -|- {Message}{NewLine}{Exception}"
}
},
{
"Name": "File",
"Args": {
"fileSizeLimitBytes": 4194304,
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
"path": "Logs\\FastTransfer_.json",
"retainedFileCountLimit": 10,
"rollingInterval": "Day",
"rollOnFileSizeLimit": true
}
},
{
"Name": "MSSqlServer",
"Args": {
"connectionString": "MS_FastTransferLogs",
"sinkOptionsSection": {
"TableName": "EventLogs",
"SchemaName": "dbo",
"DatabaseName": "FastTransferLogs",
"AutoCreateSqlDatabase": true,
"AutoCreateSqlTable": true,
"BatchPostingLimit": 50,
"BatchPeriod": "0.00:00:05",
"UseSqlBulkCopy": false
},
"restrictedToMinimumLevel": "Information",
"columnOptionsSection": {
"disableTriggers": true,
"clusteredColumnstoreIndex": false,
"removeStandardColumns": [
"Id",
"MessageTemplate",
"Properties",
"Exception"
],
"additionalColumns": [
{
"ColumnName": "ErrorSummary",
"PropertyName": "rootcauseMessage",
"DataType": "nvarchar",
"DataLength": 4000
},
{
"ColumnName": "EventType",
"PropertyName": "EventType",
"DataType": "varchar",
"DataLength": 50
},
{
"ColumnName": "FullTargetName",
"PropertyName": "fulltargetname",
"DataType": "nvarchar",
"DataLength": 400
},
{
"ColumnName": "Status",
"PropertyName": "finalStatus",
"DataType": "int"
},
{
"ColumnName": "Rows",
"PropertyName": "loadedRows",
"DataType": "bigint"
},
{
"ColumnName": "Columns",
"PropertyName": "loadedCols",
"DataType": "int"
},
{
"ColumnName": "ElaspedMs",
"PropertyName": "loadElapsedMs",
"DataType": "bigint"
},
{
"ColumnName": "MachineName",
"PropertyName": "MachineName",
"DataType": "varchar",
"DataLength": 256
},
{
"ColumnName": "Application",
"PropertyName": "Application",
"DataType": "varchar",
"DataLength": 50
},
{
"ColumnName": "ProcessId",
"PropertyName": "ProcessId",
"DataType": "int"
},
{
"ColumnName": "ThreadId",
"PropertyName": "ThreadId",
"DataType": "int"
},
{
"ColumnName": "RunId",
"PropertyName": "runid",
"nonClusteredIndex": true,
"DataType": "varchar",
"DataLength": 256
},
{
"ColumnName": "TraceId",
"PropertyName": "traceid",
"nonClusteredIndex": true,
"DataType": "varchar",
"DataLength": 100
},
{
"ColumnName": "SpanId",
"PropertyName": "SpanId",
"DataType": "varchar",
"DataLength": 100
},
{
"ColumnName": "Release",
"PropertyName": "release",
"DataType": "varchar",
"DataLength": 32
},
{
"ColumnName": "EnvironmentUserName",
"PropertyName": "EnvironmentUserName",
"DataType": "varchar",
"DataLength": 200
},
{
"ColumnName": "InputParameters",
"PropertyName": "InputParameters",
"DataType": "varchar",
"DataLength": 8000
}
],
"level": {
"columnName": "Severity",
"storeAsEnum": false,
"DataType": "varchar",
"DataLength": 50
},
"timeStamp": {
"columnName": "EventTimestamp",
"nonClusteredIndex": true,
"convertToUtc": false
},
"logEvent": {
"excludeAdditionalProperties": false,
"excludeStandardColumns": true
},
"message": {
"columnName": "EventMsg",
"DataType": "varchar",
"DataLength": 8000

}
}
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
],
"Properties": {
"Application": "FastTransfer"
}
}
}

FastTransfer_Settings_Linux_Console_Files.json

For Linux with Console + Daily rolling Files:

{  
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.File",
"Serilog.Enrichers.Environment",
"Serilog.Enrichers.Thread",
"Serilog.Enrichers.Process",
"Serilog.Enrichers.Context"
],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff zzz} -|- {Application} -|- {runid} -|- {Level:u12} -|- {fulltargetname} -|- {Message}{NewLine}{Exception}"
}
},
{
"Name": "File",
"Args": {
"fileSizeLimitBytes": 4194304,
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
"path": "Logs/FastTransfer_.json",
"retainedFileCountLimit": 10,
"rollingInterval": "Day",
"rollOnFileSizeLimit": true
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
],
"Properties": {
"Application": "FastTransfer"
}
}
}

FastTransfer_Settings_Map_for_Windows.json

For Console and dynamically named log file targets (Windows):

{  
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.File",
"Serilog.Enrichers.Environment",
"Serilog.Enrichers.Thread",
"Serilog.Enrichers.Process",
"Serilog.Enrichers.Context"
],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff zzz} -|- {Application} -|- {runid} -|- {Level:u12} -|- {fulltargetname} -|- {Message}{NewLine}{Exception}"
}
},
{
"Name": "Map",
"Args": {
"keyPropertyName": "TraceId",
"defaultKey": "no-trace",
"to": [
{
"Name": "File",
"Args": {
"path": "C:\\temp\\Logs\\{logdate}\\{sourcedatabase}\\{sourcetable}\\FastTransfer-log-{filename}-{logtimestamp}-{traceid}.json",
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
"rollingInterval": "Infinite",
"shared": false,
"encoding": "utf-8",
"retainedFileCountLimit": 100
}
}
]
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
],
"Properties": {
"Application": "FastTransfer"
}
}
}

FastTransfer_Settings_Map_for_Linux_and_Container.json

For Console and dynamically named log file targets (Linux/Container):

{  
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.File",
"Serilog.Enrichers.Environment",
"Serilog.Enrichers.Thread",
"Serilog.Enrichers.Process",
"Serilog.Enrichers.Context"
],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff zzz} -|- {Application} -|- {runid} -|- {Level:u12} -|- {fulltargetname} -|- {Message}{NewLine}{Exception}"
}
},
{
"Name": "Map",
"Args": {
"keyPropertyName": "TraceId",
"defaultKey": "no-trace",
"to": [
{
"Name": "File",
"Args": {
"path": "/logs/{logdate}/{sourcedatabase}/{sourcetable}/FastTransfer-log-{filename}-{logtimestamp}-{traceid}.json",
"formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact",
"rollingInterval": "Infinite",
"shared": false,
"encoding": "utf-8",
"retainedFileCountLimit": 100
}
}
]
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
],
"Properties": {
"Application": "FastTransfer"
}
}
}

FastTransfer_Settings_Log_to_PGSQL.json : Console + PostgreSQL log database

{
"ConnectionStrings": {
"PG_FastTransferLogs": "Host=localhost;Port=15432;Database=fastlogs;Username=FastUser;Password=FastPassword"
},
"Serilog": {
"Using": [
"Serilog.Sinks.Console",
"Serilog.Sinks.PostgreSQL.Alternative",
"Serilog.Enrichers.Environment",
"Serilog.Enrichers.Thread",
"Serilog.Enrichers.Process",
"Serilog.Enrichers.Context"
],
"MinimumLevel": "Information",
"WriteTo": [
{
"Name": "Console",
"Args": {
"outputTemplate": "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff zzz} -|- {Application} -|- {runid} -|- {Level:u12} -|- {fulltargetname} -|- {Message}{NewLine}{Exception}"
}
},
{
"Name": "PostgreSQL",
"Args": {
"connectionString": "PG_FastTransferLogs",
"tableName": "event_logs",
"schemaName": "public",
"needAutoCreateTable": true,
"needAutoCreateSchema": false,
"restrictedToMinimumLevel": "Information",
"useCopy": false,
"loggerColumnOptions": {
"event_timestamp": {
"Name": "Timestamp",
"Format": "",
"WriteMethod": "Timestamp",
"NpgsqlDbType": "TimestampTz",
"Order": 1
},
"event_msg": {
"Name": "RenderedMessage",
"Format": "",
"WriteMethod": "RenderedMessage",
"NpgsqlDbType": "Text",
"Order": 2
},
"Level": {
"Name": "LevelAsText",
"Order": 3
},
"LevelInt": {
"Name": "Level",
"Order": 4
}
},
"loggerPropertyColumnOptions": {
"error_summary": {
"Name": "rootcauseMessage",
"Format": "{0}",
"WriteMethod": "ToString",
"NpgsqlDbType": "Text",
"Order": 5
},
"source_database": {
"Name": "SourceDatabase",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 6
},
"source_schema": {
"Name": "SourceSchema",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 7
},
"source_table": {
"Name": "SourceTable",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 8
},
"output_directory": {
"Name": "OutputDirectory",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 9
},
"full_target_name": {
"Name": "fulltargetname",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 10
},
"application": {
"Name": "Application",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 11
},
"status": {
"Name": "finalStatus",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Integer",
"Order": 12
},
"rows": {
"Name": "loadedRows",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Numeric",
"Order": 13
},
"columns": {
"Name": "loadedCols",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Integer",
"Order": 14
},
"elapsed_ms": {
"Name": "loadElapsedMs",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Numeric",
"Order": 15
},
"machine_name": {
"Name": "MachineName",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 16
},
"process_id": {
"Name": "ProcessId",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Integer",
"Order": 17
},
"thread_id": {
"Name": "ThreadId",
"Format": "0",
"WriteMethod": "ToString",
"NpgsqlDbType": "Integer",
"Order": 18
},
"run_id": {
"Name": "runid",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 19
},
"trace_id": {
"Name": "traceid",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 20
},
"span_id": {
"Name": "SpanId",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 21
},
"release": {
"Name": "release",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 22
},
"environment_user_name": {
"Name": "EnvironmentUserName",
"Format": "",
"WriteMethod": "Raw",
"NpgsqlDbType": "Text",
"Order": 23
},
"input_parameters": {
"Name": "InputParameters",
"WriteMethod": "Raw",
"NpgsqlDbType": "Json",
"Order": 24
}
}
}
}
],
"Enrich": [
"FromLogContext",
"WithMachineName",
"WithProcessId",
"WithThreadId"
],
"Properties": {
"Application": "FastTransfer"
}
}
}
Copyright © 2026 Architecture & Performance.