Releases: causiq/logary
5.0.0-alpha
Bump version to 5.0.0-alpha
v4.0.280 – bugfix and Facade release
In this release I've made the following improvements:
- A fully fledged and tested C# facade is done
- The Facade (F# and C#) now tries to map units when they are in their base forms
- New docs for the C# facade
- Despite being changed, the F# Facade is backwards compatible; a new field
Literals.FacadeVersion
will control the API that the adapter binds to from now on - A memory leak was found and fixed in InfluxDB's target, due to a
use
statement not going out of scope due to indended tail-recursion (but the use-statement stopped the tail recursion, so memory is slowly increasing in previous versions) - Updating examples for the new facade API
- Bumping RabbitMQ.Client dependency
Improvements to WinPerfCounters, literate console
v4.0.223 [infra] bump patch
v4.0.160 – C# API release
This release contains further improvements to the C# API for Logary and some minor fixups:
- Better
Logger.timeScope
API in both languages - Change host-middleware's
hostname
tohost
- Remove duplicated middleware code (the
Middleware.Common
module) - Expose middleware to the C# API
- Replace dots in counter names with dashes.
Furthermore, this release partially reworks performance counters. If you use the WinPerfCounters nuget, you should not upgrade from .150
The aim is to let performance counters log to influx with multiple values, one per instance of the named counter, rather than logging them as separate measurements. This has a positive side-effect of reducing the amount of data for n counters, n times.
v4.0.150 – A Colourful release
Those who know me say I'm an F# guy, which I is, but Logary has functioned well with C# from the start. Version 4 hasn't been really 'made for' C# before this release though; as the core of Logary was vastly remade between v3 and v4. But with this release it's up-to-snuff again!
v4.0.150 contains a number of sweet improvements; all of them too numerous to list. However, here's a curated list:
- The InfluxDB has been greatly improved with a model that allows you to pass both metrics and events to influx in a way that makes sense given the schema constraints that InfluxDb has
- Events are logged into measurements corresponding to their respective levels:
event_info
,event_error
, etc... - Fields are now placed as values to avoid indexing them inside Influx
Time[|Job|Async|Task]
functions have been much improved- All TimeX functions now log nanosecond gauges.
- Events are logged into measurements corresponding to their respective levels:
- The C# Facade has been much better tested and is now production quality
- Most of it moved into the Logary core
- Message-extensions are still in the Logary.CSharp nuget
- Exposed ACKs through a
Task
based API
- @adamchester has done a heap of excellent work with the new Literate target, which colourises the and colours console output nicely – you can even supply your own colour theme!
Message
now also has static methodstemplateEvent
that automatically match fs-messages style string templating to the passed parameters. (@adamchester)- A major bug was fixed in the code that logs to targets;
logWithAck : Alt<Promise<unit>
's returned Promise now has the correct semantics – to await the flush of all targets that were matched for theMessage
. SimilarlyLogger.LogWithAck : Task<Task>
is now exposed to the C# side of things – and all public API methods have xmldoc to make them easier to consume and understand. Map.ofObject
andValue.ofObject
are now even more stable – even when you send objects whose properties throw exceptions into Logary (you sneaky, you!) (@adamchester)- A bunch of libraries have been upgraded, such as the Topshelf dependency for the
Logary.Adapters.Topshelf
nuget. withMetrics
andwithInternalTargets
are now synchronous, so you don't have to run them during configuration time.- In C# there's now
Logger.TimeScope(pn : PointName) : IDisposable
and in F#Logger.timeScope : Logger -> PointName -> IDisposable
that lets you get Logary code out of your call-stack when profiling your code.
And lots more! Also, thanks to Lynx for sponsoring the improvements of the InfluxDb target!