WSJT-X/wsjtx_log_config.ini
Bill Somerville 3fafbdaaa3
Boost log set up for WSJT-X
Rotated  log files  limited to  ten  saved logs  with timestamped  and
counted file names. Logs written to writeable files directory. Formats
and file  names hard coded  with expression templates  fro efficiency,
but with the ability to provide a user-defined configuration file that
overrides the hard-coded  defaults. The configuration file  must be in
the configuration files directory and named wsjtx_log_config.ini.
2020-09-25 00:50:32 +01:00

92 lines
4.7 KiB
INI

#
# See http://www.boost.org/doc/libs/1_60_0/libs/log/doc/html/log/detailed/utilities.html#log.detailed.utilities.setup.filter_formatter
#
# Many of the property values have to be in quotes, best to just use quotes for all of them.
#
# SYSLOG is the System Log File for logging standard 'debug' type info.
# DATALOG is the Data log File for logging modification to business data.
#
[Core]
# Set DisableLogging to true to disable all logging.
DisableLogging="false"
# SYSLOG - system log
[Sinks.SYSLOG]
Destination="TextFile"
# If Asynchronous true then thread dedicated to writing to log, otherwise blocks main thread to write.
Asynchronous="true"
# If AutoFlush is true then non-buffered output
AutoFlush="true"
# Line Formats available: TimeStamp, Uptime, Severity, LineID (counter), ProcessID, ThreadID, Line, File, Function
# TimeStamp and Uptime support boost date time format:
# http://www.boost.org/doc/libs/1_60_0/doc/html/date_time/date_time_io.html#date_time.format_flags
Format="[%TimeStamp(format=\"%Y-%m-%d %H:%M:%S.%f\")%][%Uptime(format=\"%O:%M:%S.%f\")%][%Severity%] %File%(%Line%) %Function%: %Message%"
# Target directory in which rotated files will be stored.
Target="${AppLocalDataLocation}/old_logs"
# FileName pattern to use. %N is a counter for files.
FileName="${AppLocalDataLocation}/wsjtx_syslog.log"
TargetFileName="wsjtx_syslog_%5N.log"
# RotationSize in bytes, File size, in bytes, upon which file rotation will be performed.
# Time based rotation also available via RotationInterval and RotationTimePoint see boost log docs.
RotationSize="1048576"
# If Append is true then do not start a new log file for each session
Append="false"
# EnableFinalRotation will rotate on close, make this false if using Append true
EnableFinalRotation="true"
# Matching used so that only files matching FileName pattern are deleted.
ScanForFiles="Matching"
# MaxSize - Total size of files in the target directory in bytes upon which the oldest file will be deleted.
#MaxSize=100485760
# MinFreeSpace - Minimum free space in the Target directory in bytes. Above this value oldest file is deleted.
#MinFreeSpace=1485760
#MaxFiles="10"
# Specify level of log, options are: trace, debug, info, warning, error, fatal
# Since Channel not part of filter all log output will be included.
# If only SYSLOG logging desired, change to: Filter="%Severity% >= trace & %Channel% matches \"SYSLOG\""
Filter="%Severity% >= warning"
# DATALOG - data log
[Sinks.DATALOG]
Destination="TextFile"
# If Asynchronous true then thread dedicated to writing to log, otherwise blocks main thread to write.
Asynchronous="true"
# If AutoFlush is true then non-buffered output
AutoFlush="false"
Append="true"
# Line Formats available: TimeStamp, Uptime, Severity, LineID (counter), ProcessID, ThreadID
# TimeStamp and Uptime support boost date time format:
# http://www.boost.org/doc/libs/1_60_0/doc/html/date_time/date_time_io.html#date_time.format_flags
Format="[%TimeStamp(format=\"%Y-%m-%d %H:%M:%S.%f\")%][%Uptime(format=\"%O:%M:%S.%f\")%][%Severity%] %Message%"
# Target directory in which rotated files will be stored.
Target="${AppLocalDataLocation}/old_logs"
# FileName pattern to use. %N is a counter for files.
FileName="${AppLocalDataLocation}/wsjtx_datalog.log"
TargetFileName="wsjtx_datalog_%5N.log"
# RotationSize in bytes, File size, in bytes, upon which file rotation will be performed.
# Time based rotation also available via RotationInterval and RotationTimePoint see boost log docs.
RotationSize="1048576"
EnableFinalRotation="false"
# Matching used so that only files matching FileName pattern are deleted.
ScanForFiles="Matching"
# MaxSize - Total size of files in the target directory in bytes upon which the oldest file will be deleted.
#MaxSize=100485760
# MinFreeSpace - Minimum free space in the Target directory in bytes. Above this value oldest file is deleted.
#MinFreeSpace=1485760
MaxFiles="10"
# Specify level of log, options are: trace, debug, info, warning, error, fatal
# Specify Channel otherwise all log output will be included.
Filter="%Severity% >= info & %Channel% matches \"DATALOG\""
# Console log, logs both DATALOG and SYSLOG
[Sinks.Console]
# Remove the following lines to disable console logging
Destination="Console"
# If AutoFlush is true then non-buffered output
AutoFlush="true"
# Line Formats available: TimeStamp, Uptime, Severity, LineID (counter), ProcessID, ThreadID
# TimeStamp and Uptime support boost date time format:
# http://www.boost.org/doc/libs/1_60_0/doc/html/date_time/date_time_io.html#date_time.format_flags
Format="[%TimeStamp(format=\"%Y-%m-%d %H:%M:%S.%f\")%][%Uptime(format=\"%O:%M:%S.%f\")%][%Severity%] - %Message%"
# Specify level of log, options are: trace, debug, info, warning, error, fatal
Filter="%Severity% >= warning"