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
btrepp
@btrepp
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?
Henrik Feldt
@haf

@bradder555 Hello, sorry about the delay in answering. I've not been monitoring this chat that well, and I'm going to point people to my e-mail address instead in fact.

We have completely removed the ruby dependency for the build; you can now build with both Makefile and dotnet build and fake.

@Bert-Proesmans Internal logging means that Logary tells you about when it sends batches of logs, or when targets crash. You may want that information; for example, if you use Logary for audit logging, it may be a functional requirement for you that your targets are up and sending the audit logs.
It's also helpful when you want to set up a new target and debug what's going on with it.

I'm looking at possibly using Logary, can someone give me rough estimates on what pricing with logary usually looks like?

I've published a price list for commercial use; it's not very pricey and the payment is honour-bound rather than enforced at this point. @tylerhartwig

@aprooks Logary v5 is free for non-commercial use but costs a slight sum when used in production for commercial software https://github.com/logary/logary/blob/master/LICENSE.md#1-pricing
Henrik Feldt
@haf
@bradder555 I haven't seen that bug before; I've never experienced that Logary misses things; what version are you on?
Brian Romanko
@bromanko

I have a hopefully simple question. I can't seem to get my logger to display anything below INFO level. I'm using a seemingly simple configuration:

        Config.create "Montclair Server" host
        |> Config.target (Targets.LiterateConsole.create literateConsoleConf "console")
        |> Config.build
        |> Hopac.Hopac.run

I can't seem to find a way to change the default log level. I've tried adding rules and using switchLogLevel and nothing seems to work. Is there anything obvious I'm missing?