Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 30 2019 09:25
    haf commented #351
  • Jan 30 2019 09:24
    haf edited #351
  • Jan 30 2019 09:24
    haf edited #351
  • Jan 29 2019 23:09
    rtkelly13 starred logary/logary
  • Jan 29 2019 08:14

    haf on master

    Add System.Data.Odbc to depende… (compare)

  • Jan 29 2019 02:25
    jburman starred logary/logary
  • Jan 28 2019 11:01

    haf on master

    Correcting copy target in Docke… (compare)

  • Jan 28 2019 11:00

    haf on master

    Remove stray extra find stanza … (compare)

  • Jan 28 2019 10:58

    haf on master

    Let Dockerfile copy the artifac… (compare)

  • Jan 28 2019 10:50

    haf on master

    Quicker builds with pre-downloa… Dockerfile with Rutta publish s… (compare)

  • Jan 27 2019 13:01
    haf edited #385
  • Jan 27 2019 12:52

    haf on master

    Test with better .dockerignore … (compare)

  • Jan 27 2019 00:02

    haf on master

    Makefile targets (compare)

  • Jan 26 2019 22:56

    haf on master

    Remove legacy/ folder; noone ha… Remove stray duplicate Version … Remove extra print of locales and 5 more (compare)

  • Jan 26 2019 20:56

    haf on master

    Fix LC_ALL warning from perl (compare)

  • Jan 26 2019 20:35

    haf on master

    Working Dockerfile build and ma… (compare)

  • Jan 26 2019 19:13
    tallpeak starred logary/logary
  • Jan 26 2019 19:02
    haf opened #385
  • Jan 26 2019 18:59

    haf on master

    Add RELEASE_NOTES note and Dock… (compare)

  • Jan 26 2019 18:20
    haf closed #383
Honza Brestan
@jbrestan
I think I could inherit TextWriter and as a short-term solution rely on the implementation detail that TextWriterTarget only uses WriteLine(String) overload, and do the NLog delegation there. Still would need to map log levels etc. somehow though...
I'll go try it out, and I'll think about the possible Message->String function goals. Thanks a lot for the help!
Adam Chester
@adamchester
:+1:
Chet Husk
@baronfel
anyone here using the Zipkin functionality? I'm looking for a usage example to help wrap my mind around it
Henrik Feldt
@haf
@jbrestan wouldn't it be better for everyone if we work on the file target instead? In my world alpha means no known bugs, so it's not like it doesn't work. There is no file rotation support yet though.
Anders Elvik
@AElvik

Hi. I'm having some trouble installing Logary using Paket. The required Hopac version requires a newer FSharp.Core than Logary and Suave
Paket the atempts to resolve the versions, printing messages like:

Could not resolve package FSharp.Core:
    - Hopac 0.3.23 requested package FSharp.Core: >= 4.0.1.7-alpha
    - Logary 4.0.112 requested package FSharp.Core: >= 4.0.0.1 (no prereleases)
    - Suave 2.0.0 requested package FSharp.Core: >= 4.0.0.1 (no prereleases)

It ends up on Logary 4.0.112 and Hopac 0.3.14

  Paket version 3.33.3
  Main FAKE - 4.48
  Main Logary - 4.0.112
  Main Newtonsoft.Json - 9.0.1
  Main SQLProvider - 1.0.41
  Main Suave - 2.0

Mono 4.6.2

Is this a known issue?

Adam Chester
@adamchester
@AElvik i dont think its a known issue. Any chance you can put a repro on a github issue please?
Anders Elvik
@AElvik
Submitted #229
Adam Chester
@adamchester
@Haf logary/logary#228 the way we solve this general issue in message templates is only treating arguments specified with {@name} as 'object maps'
In message templates, IPAddress would be stringified early in the process
Yemi Bedu @ P&R
@pr-yemibedu
hello. what is a simple way to attach to a logger to get it to write to a file?
I am using expecto
Henrik Feldt
@haf
@pr-yemibedu Well, you could use the file logger.
You'll need to run the FacadeAdapter to change expecto to use Logary also.
file target*
a logger is just a reference to the logging infrastructure.
It's up to the logging infra to choose where to write
Yemi Bedu @ P&R
@pr-yemibedu
thank you @haf
is there a straight and simple example of getting the Expecto.Logging.TextWriterTarget or whatever is needed to write to a string buffer or to a file called "application.log"?
am I going about it wrong? I just want the text results of the test run so I can both save it to a text file and do a simple parse and format.
Adam Chester
@adamchester
@pr-yemibedu how about this?
expecto log to file.png
open Expecto

[<EntryPoint>]
let main argv = 
    use logFile = new System.IO.StreamWriter("testlog.txt")
    Logging.Global.initialiseIfDefault
        { Logging.Global.defaultConfig
            with getLogger = fun name -> Logging.CombiningTarget(name,
                                            [ Logging.TextWriterTarget(name, Logging.Verbose, logFile)
                                              Logging.LiterateConsoleTarget(name, Logging.Verbose) ])
                                         :> Logging.Logger
        }

    Tests.runTestsInAssembly defaultConfig argv
Yemi Bedu @ P&R
@pr-yemibedu
wow. thank you. that is amazing simple. I did have to read it about ten times. I am using an older version so I just translated as needed. @adamchester
James Freiwirth
@endeavour
Are there any plans to update the LogEntries target to work with logary 4?
Jared Hester
@cloudRoutine
@haf the manual approach to modifying the Logary.Facade seems like more of a hassle than it needs to be
could you make a nupkg just for it that installs it as a template file?
https://docs.microsoft.com/en-us/nuget/create-packages/source-and-config-file-transformations
Henrik Feldt
@haf
@cloudRoutine Does that work with paket, too?
@endeavour Afraid not, noone stepped up to maintain it and I stopped using it myself.
It's easy to upgrade though; just get cracking and ask any questions you have here.
fsprojects/Paket#1139 @cloudRoutine
Jared Hester
@cloudRoutine
@haf aww that's a shame, you could still do it for those odd ducks who insist on sticking with Nuget though :laughing:
Henrik Feldt
@haf
@cloudRoutine I wish a knew someone like that ;)
Jared Hester
@cloudRoutine
i'll look into fixing paket to support it, but you'll have to make the template yourself :P
Henrik Feldt
@haf
@cloudRoutine Will do if you fix up Paket support ;)
Jared Hester
@cloudRoutine
:+1:
James Freiwirth
@endeavour
I have a dumb question. What is the RabbitMQ target actually for?
It just dumps log messages onto rabbitMQ? Am I then responsible for writing something that subscribes to it and writes them into a database/elasticsearch etc?
Duncan Mak
@duncanmak
hello all
I saw this note, SuaveIO/suave#574, what should I do if I wanna add logging to my tiny Suave v2 app?
Henrik Feldt
@haf
@duncanmak , @adamchester gave you a sample back in the suave chat :)
Duncan Mak
@duncanmak
nice!
thanks!
Kolja Dummann
@coolya
would a azure application insights target be welcome? I'm writing one as side project right now.
Adam Chester
@adamchester
@coolya I would say yes definitely
James Freiwirth
@endeavour
@coolya Yeah I'd like that too :)
dylanbevandotnet
@dylanbevandotnet
Dumb question here as I'm new to Logary. If I want to keep track of something like the number of users that log in, I don't see how I can update the metric. Say I have a log in method, I want to increase the value by one, not keep track of how many are already there. The samples show a metric that is constantly pumping out values (with knowledge of the last value) but doesn't indicate how I'd push a value to it from another location. i.e. let login userName password = ..validate credentials. tell logary that someone has logged in
Henrik Feldt
@haf
@dylanbevandotnet The Message types with a metric value, like Gauge will be sent to your targets. You can either create them via Logger from your login function, or you can have a Metric instance that aggregates logins every tick
There's a presentation on channel 9 by me about Logary and this exact feature
dylanbevandotnet
@dylanbevandotnet
Thanks @haf , I had a momentary brain fart. After I posted I realized that it was up to the target to aggregate. Thanks for the video pointer I'll go check it out.
dylanbevandotnet
@dylanbevandotnet
Ok so new question now. If I have a popular shopping site and I declare an event that happens everytime someone buys a product (Message.Event Info "{item} Purchased"), what are my options for creating a derived metric that could aggregate the total number of purchases in the tick interval, as well as the counts per item? Basically do I have to increment a specific item purchased gauge AND send an event (to get full details), with a derived metric accumulating all the specific item gauges.
OR can I create derived metrics off the event. I'm not seeing a way to do that through the API but maybe I'm missing something obvious. Thanks