My application is not cleaning up properly - it leaves the process behind in
task manager after exiting.I read about this below, but I'm setting all sinks
from a configuration file.
Can the shutdown documented in link below be done from the config file? If so,
what are the options? I am using multi-threaded loggers.
Thanks in advance.
c++ - How to stop all asynchronous sinks when using Boost.Log - Stack Overflow
Snippet of code referenced in link above:
// Remove the sink from the core, so that no records are passed
to it core->remove_sink(sink);
// Break the feeding loop
sink->stop();
// Flush all log records that may have left buffered
sink->flush();
sink.reset();
Snippet of my config file:
# Logging core settings section. May be omitted if no parameters specified
within it.[Core]# <DisableLogging> true=disable all logging; false=enable all
logging Q. do we care to disable specific channels?DisableLogging=false
# Sink settings sections#GTSMAIN logs everything to a text
file[Sinks.GTSMAIN]Destination="TextFile"
#<Asynchronous> if true, a thread is dedicated to writing to log, otherwise
blocks main thread to write.Asynchronous="true"
# Enables automatic stream flush after each log record.AutoFlush="true"
# Formatter string. Optional, by default only log record message text is
written.Format="[%TimeStamp%][%ThreadID%][%Severity%][%Channel%] %Message%"
#Target specifies where to save files when rotation
occurrsTarget="C:/Temp/GtsLogs"FileName="gtsMainLog_%3N.log"#RotationSize in
bytesRotationSize="1048576"#MaxSize - oldest file in the target directory will
be deleted when Maxsize(in bytes) is
reachedMaxSize=100485760OpenMode="append"#Apply no filter for the main log#
Sink-specific filter. Optional, by default no filter is
applied.#============================================================================================================[Sinks.ADM]Destination="TextFile"##<Asynchronous>
if true, a thread is dedicated to writing to log, otherwise blocks main thread
to write.Asynchronous="true"### Enables automatic stream flush after each log
record.AutoFlush="true"### Formatter string. Optional, by default only log
record message text is
written.Format="[%TimeStamp%][%ThreadID%][%Severity%][%Channel%]
%Message%"#Target="C:/Temp/GtsLogs"FileName="gtsAdm_%3N.log"##RotationSize in
bytesRotationSize="1048576"##MaxSize - oldest file in the target directory will
be deleted when Maxsize(in bytes) is reachedMaxSize=100485760##Apply no filter
for the main log## Sink-specific filter - anything in AGR channel. Optional, by
default no filter is applied.Filter="%Channel% matches
\"ADM\""##============================================================================================================[Sinks.AGR]Destination="TextFile"###<Asynchronous>
if true, a thread is dedicated to writing to log, otherwise blocks main thread
to write.Asynchronous="true"### Enables automatic stream flush after each log
record.AutoFlush="true"### Formatter string. Optional, by default only log
record message text is
written.Format="[%TimeStamp%][%ThreadID%][%Severity%][%Channel%]
%Message%"#Target="C:/Temp/GtsLogs"FileName="gtsAgr_%3N.log"##RotationSize in
bytesRotationSize="1048576"##MaxSize - oldest file in the target directory will
be deleted when Maxsize(in bytes) is reachedMaxSize=100485760## Sink-specific
filter - anything in AGR channel. Optional, by default no filter is
applied.Filter="%Channel% matches \"AGR\""
_______________________________________________
Boost-users mailing list
[email protected]
https://lists.boost.org/mailman/listinfo.cgi/boost-users