You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added OutputStreamFormatter protocol to define formatters for use with byte output stream type Writers.
Added TextFormat, an implementation of a OutputStreamFormatter that formats its output based on a supplied template (this is the default formatter for Console and File output).
Added JSONFormat, an implementation of a OutputStreamFormatter that formats its output in standard JSON format.
Added OutputStreamWriter protocol to define types that write byte streams to their output and accept OutputStreamFormatter types to format the output.
Added LogEntry tuple type to Writer defining the formal types that a Writer writes.
Added .buffer option for .async concurrency modes to allow for buffering when the writer is not available to write to its endpoint.
Added protected data monitoring for FileWriter.Strategy.fixed on iOS for use with AsyncConcurrencyModeOption.buffer(writeInterval:strategy:). This allows TraceLog to be started up before protected data is available on iOS.
Upated
Requires Swift 5 for compilation.
Changed parameters to .async to include options for configuration of the mode (.async(options: Set<AsyncConcurrencyModeOption>) and .async(Writer, options: Set<AsyncConcurrencyModeOption>)).
Changed Writer protocol log() method to write(_ entry: Writer.LogEntry) to make it easier to process messages by writers and formatters.
Changed Writer return to Swift.Result<Int, FailedReason> to return instructions for TraceLog for buffering and error recovery.
Changed ConsoleWriter to accept new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
Changed FileWriter public interface
FileWriter now requires the log directory be passed in, removing default value of ./.
Removed the fileConfiguration parameter replacing with new strategy enum.
It now accepts the new OutputStreamFormatter instances allowing you to customize the output log format (default is TextFormat.)
Changed FileWriter archive file name date format to "yyyyMMdd-HHmm-ss-SSS" (This was done for maximum compatibility between platforms and can be overridden in the FileConfiguration object passed at init.)
TextFormat to add var encoding: String.Encoding { get } requirement.
JSONFormat to add var encoding: String.Encoding { get } requirement.
Renamed AsyncOption to AsyncConcurrencyModeOption.
Changed OutputStreamFormatter, it now requires var encoding: String.Encoding { get }.
Renamed FileWriter.FileStrategy to FileWriter.Strategy.
Renamed FileWriter.Strategy.RotateOption to FileWriter.Strategy.RotationOption.
Removed
Removed TraceLogTestHarness module.
Fixed
Fixed logTrace when no trace level is passed. It's now the correct default value of 1 instead of 4 (issue #58).