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 09:25
    haf commented #351
  • Jan 30 09:24
    haf edited #351
  • Jan 30 09:24
    haf edited #351
  • Jan 29 23:09
    rtkelly13 starred logary/logary
  • Jan 29 08:14

    haf on master

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

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

    haf on master

    Correcting copy target in Docke… (compare)

  • Jan 28 11:00

    haf on master

    Remove stray extra find stanza … (compare)

  • Jan 28 10:58

    haf on master

    Let Dockerfile copy the artifac… (compare)

  • Jan 28 10:50

    haf on master

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

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

    haf on master

    Test with better .dockerignore … (compare)

  • Jan 27 00:02

    haf on master

    Makefile targets (compare)

  • Jan 26 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 20:56

    haf on master

    Fix LC_ALL warning from perl (compare)

  • Jan 26 20:35

    haf on master

    Working Dockerfile build and ma… (compare)

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

    haf on master

    Add RELEASE_NOTES note and Dock… (compare)

  • Jan 26 18:20
    haf closed #383
Henrik Feldt
@haf
Hi there
Not yet, but soon
Tuomas Hietanen
@Thorium
what is the preferred workaround if I want to compile same web-server logic with .Net Framework and .Net Core, if I'm using Logary quite heavily? Should I just mock Logary calls with conditional compilation to aspnet-core-logging-dependency-injection-mess ?
Grégoire Lejay
@Antobiotics
Hi! Im quite new to f# but i'm encountering issues using logary im trying: ```
let logger = Logging.getCurrentLogger ()
Message.event Info "Something here" |> Logger.logSimple logger
and getting :
 threw an exception. ---> System.MissingMethodException: Method not found: 'NodaTime.Instant NodaTime.SystemClock.get_Now()'.
   at Logary.MessageModule.Event(LogLevel level, String template)
(i apologize in advance if it's not the right place to ask)
i tried to add NodaTime to my paket dependencies but that didn't work. Is there something obvious that i am missing?
btrepp
@btrepp
Anyone have any experience with the WinPerfCounters metrics? I've managed to get App metrics working (awesome), but half of the system metrics return 0
Tried on server 2016 running as a service under nssm, and admin(UAC) on windows 10
Proccessor stats are all zero, along with memory
a few other system counters work, but mainly I was chasing the CPU and memory :D
Ákos Lukács
@AkosLukacs
@Antobiotics Use NodaTime less than v.2.0
@btrepp share with us if you can get it working, thanks :)
Grégoire Lejay
@Antobiotics
@AkosLukacs thanks for the tip, I will try this out
Davydov Denis
@Inkp
Hello, would Logary support netcore anytime soon? I am on the crossroad between logary and serilog. Tried using net461 version on netcoreapp2.0 but it behaves oddly.
Ghost
@ghost~57bd5b1440f3a6eec0610e8d
Hi All, I would like to volunteer improving the build process. Requiring the Ruby environment on windows is a bit of a pain. I'd like to propose the use of FAKE and PAKET
Quintus Marais
@quintusm
It seems like a good idea to try and get rid of the Ruby requirement. I have run into a versioning issue myself trying to do a build with the newest version of Ruby...
btrepp
@btrepp
I might be lost here, but it looks like logary looks for a ToValue on unknown types, like Chiron with ToJson. Does anyone know how this works?. I suspected it might've been ToValue : 'a -> Value or ToValue: 'a -> Value<string> etc but I can't seem to get it compile
btrepp
@btrepp
Ah it seems that the static inference in F# is pickier than I would imagine. Method needs to be defined a ToValue (x:_) : Value<unit>. Returning a function is not enough for the F# compiler
btrepp
@btrepp
What's the best way of timing an Alt<_>? It strikes me as maybe a Message.timeAlt is the case, but the Logger.log function doesn't really gel with the types (unless I create factory functions to ignore or set the messages)
I'm sure theres some nice functions and I'm just not finding them
Jun
@lust4life
@btrepp the previous version of WinPerfCounter has some bug when use with more than one instance. the new version has solved this. you can see the detail in logary/logary@9bcfacd , the old version use x.counter.InstanceName <- instance to change instance, this will initial the instance and the first NextValue is always zero.
Tuomas Hietanen
@Thorium
I have ideological reasons to not install any non-functional-first-programming-language-environments to my machine (aka. now it works, I don't want to break it). So one more vote for getting rid of Ruby.
Aleksander Heintz
@Alxandr
image.png
So, this is weird. I'm not finding the methods I'm expecting in Logary.Configuration
Anyone experienced this before (and how do I go about fixing it?)
btrepp
@btrepp
How do the counters work in logary 4.2.1?
I'm after figuring out how much some low-level interop is called, and having a metric like x per second would be fine rather than smashing out heaps of individual messages
btrepp
@btrepp
So I've deduced the model appears to be creating a metric and pushing values in with update, and summarizing per 'tick'
and there is a Metricconf.create method
But that takes some sort of metric constructor?. Do I have to memo this?. How would I tick values into a Counter?.
btrepp
@btrepp

So I've noticed there's been a new release of hopac (yay), but logary stable hasn't been updated in a while (okay).

Unfortunately the latest published hopac and logary don't play nice.

Unhandled Exception: System.TypeInitializationException: The type initializer for 'Program' threw an exception. ---> System.TypeInitializationException: The type initializer for '<StartupCode$Epsilon>.$Program' threw an exception. ---> System.MethodAccessException: Attempt by method 'Logary.Supervisor.create(Logary.Logger)' to access method 'Hopac.Job+Global.startIgnore<Microsoft.FSharp.Core.Unit>(Hopac.Job`1<Microsoft.FSharp.Core.Unit>)' failed.
   at Logary.Supervisor.create(Logger logger)
   at Logary.Registry.Advanced.create(LogaryConf conf)
   at Logary.Configuration.Config.RunLogary(LogaryConf conf)
   at Logary.Configuration.Config.WithLogary(String serviceName, FSharpFunc`2 fConf)
   at <StartupCode$Epsilon>.$Program..cctor()
   --- End of inner exception stack trace ---
   at Program..cctor()
   --- End of inner exception stack trace ---
   at Program.main(String[] _arg1)
Henrik Feldt
@haf
@btrepp Thanks for reporting. This is accurate. There's a doc/issue about this in the issue tracker (perhaps you)
btrepp
@btrepp
Wasn't me, think someone independently found it.
Locking to 4 logary keeps me working for now. I would like to upgrade to 5, but currently the beta tag worries me
(I'm a little wary after freyas 4 being rc for over a year)
Henrik Feldt
@haf
@btrepp v5 is currently much more stable; it's beta because the licenses need sorting out. See logary/logary#351
Tyler Hartwig
@tylerhartwig
I'm looking at possibly using Logary, can someone give me rough estimates on what pricing with logary usually looks like?
Alexander Prooks
@aprooks
@tylerhartwig Logary is a library and does not have costs. If I'm not missing something
Ghost
@ghost~57bd5b1440f3a6eec0610e8d
bug?
Ghost
@ghost~57bd5b1440f3a6eec0610e8d

bug?
Just playing around with the docs to further consolidate Logary in my head, here's the code-snippet

[<EntryPoint>]
let main argv = 
    use logary = 
      withLogaryManager "logary test" (
        withTargets [
          Console.create Console.empty "console";
          InfluxDb.create influxConf "influxdb";
        ] 
        >> withRules [
          Rule.createForTarget ("influxdb");
          Rule.createForTarget ("console");
        ]
      ) |> Hopac.Hopac.run

    let logger = Logging.getCurrentLogger()
    let lFun = fun infoEvent -> Logger.log logger LogLevel.Info (fun _ -> Message.eventInfo infoEvent)

    let l = 
      job {
        do! lFun "Logary is weird 1"
        do! timeOutMillis 10 // need a small delay, or it doesn't work
        do! lFun "Logary is weird 2"
      }

    Stream.indefinitely (l <*> (timeOutMillis 5000 )) |> Stream.consume

If you log two things in quick succession to the influx target, you lose 'one' of them

Due to the non-deterministic nature of getting one of them at random, i'm guessing this either an issue with the http implementation in the influxdb target, or with influx. I'll do a quick test to see if influxdb is the problem.
It logs to the console fine
Ghost
@ghost~57bd5b1440f3a6eec0610e8d
i don't think it's influxdb, since when i use the following, nothing is missed:
[<EntryPoint>]
let main argv = 
    use httpClient = new HttpClient()
    let mutable no = 0
    // Basic Auth, used with 
    let basicAuth = Encoding.ASCII.GetBytes("ausername:asupersecretpassword")
    httpClient.DefaultRequestHeaders.Authorization <- new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(basicAuth))

    let t = 
      (
        fun ct -> 
          httpClient.PostAsync(
            "https://192.168.1.99/write?db=logary", 
            new System.Net.Http.ByteArrayContent(Encoding.ASCII.GetBytes(sprintf "event_info,environment=Development,host=MYHOST,processName=TestInflux test=%A,event=\"test\"" no)), 
            ct
          )
      ) |> Hopac.Alt.fromTask

    let t = 
      job {
        let! a = t 
        no <- no + 1
        let! b = t
        no <- no + 1
        return a,b
      }

    Stream.indefinitely(t <&> (timeOutMillis 5000)) |> Stream.consumeFun (fun (x,_) -> System.Console.WriteLine(x))
    System.Console.ReadKey() |> ignore
Proesmans Bert
@Bert-Proesmans
Hi guys! I'm a big fan of the project, but do have some questions. I'm using C# as interface on .Net 4.6+
what does "internal logging" mean?
Ghost
@ghost~57bd5b1440f3a6eec0610e8d
@bradder555 Aether had been updated to a newer version which had breaking changes for Logary
@haf i'm trying to understand why there is a "paket_replace" step in the rakefile. Seems to me that the build step can be simplified by removing this step? This way we can build the project without the dependency on ruby?