Skip to content

Releases: causiq/logary

5.0.0-alpha

19 Mar 14:52
@haf haf
Compare
Choose a tag to compare
5.0.0-alpha Pre-release
Pre-release
Bump version to 5.0.0-alpha

v4.0.280 – bugfix and Facade release

06 Dec 19:40
@haf haf
Compare
Choose a tag to compare

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

21 Nov 13:06
@haf haf
Compare
Choose a tag to compare

v4.0.160 – C# API release

18 Oct 15:33
@haf haf
Compare
Choose a tag to compare

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 to host
  • 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

10 Oct 16:13
@haf haf
Compare
Choose a tag to compare

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.
  • 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 methods templateEvent 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 the Message. Similarly Logger.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 and Value.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 and withInternalTargets 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!