home.social

#serilog — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #serilog, aggregated by home.social.

  1. Логирование с Serilog: как повысить отказоустойчивость и скорость

    Когда логов становится слишком много, а сеть или облачный приёмник начинает тормозить, даже самый надёжный логгер может превратиться в источник проблем. Наша команда столкнулась с тем, что память забивалась логами, и это приводило к OutOfMemoryException и аварийному закрытию приложений. В статье разбираю, как устроен процесс логирования в Serilog, почему асинхронная отправка логов не всегда безопасна, как протестировать систему на устойчивость к задержкам и какие настройки и архитектурные приёмы помогут сохранить стабильность под нагрузкой.

    habr.com/ru/articles/972118/

    #serilog #altenar #c# #net #логирование #spbdotnet

  2. Логирование с Serilog: как повысить отказоустойчивость и скорость

    Когда логов становится слишком много, а сеть или облачный приёмник начинает тормозить, даже самый надёжный логгер может превратиться в источник проблем. Наша команда столкнулась с тем, что память забивалась логами, и это приводило к OutOfMemoryException и аварийному закрытию приложений. В статье разбираю, как устроен процесс логирования в Serilog, почему асинхронная отправка логов не всегда безопасна, как протестировать систему на устойчивость к задержкам и какие настройки и архитектурные приёмы помогут сохранить стабильность под нагрузкой.

    habr.com/ru/articles/972118/

    #serilog #altenar #c# #net #логирование #spbdotnet

  3. Логирование с Serilog: как повысить отказоустойчивость и скорость

    Когда логов становится слишком много, а сеть или облачный приёмник начинает тормозить, даже самый надёжный логгер может превратиться в источник проблем. Наша команда столкнулась с тем, что память забивалась логами, и это приводило к OutOfMemoryException и аварийному закрытию приложений. В статье разбираю, как устроен процесс логирования в Serilog, почему асинхронная отправка логов не всегда безопасна, как протестировать систему на устойчивость к задержкам и какие настройки и архитектурные приёмы помогут сохранить стабильность под нагрузкой.

    habr.com/ru/articles/972118/

    #serilog #altenar #c# #net #логирование #spbdotnet

  4. Логирование с Serilog: как повысить отказоустойчивость и скорость

    Когда логов становится слишком много, а сеть или облачный приёмник начинает тормозить, даже самый надёжный логгер может превратиться в источник проблем. Наша команда столкнулась с тем, что память забивалась логами, и это приводило к OutOfMemoryException и аварийному закрытию приложений. В статье разбираю, как устроен процесс логирования в Serilog, почему асинхронная отправка логов не всегда безопасна, как протестировать систему на устойчивость к задержкам и какие настройки и архитектурные приёмы помогут сохранить стабильность под нагрузкой.

    habr.com/ru/articles/972118/

    #serilog #altenar #c# #net #логирование #spbdotnet

  5. @nblumhardt Look, #JetBrainsRider learned a new #OpenTelemetry trick and it works pretty well with #SeriLog
    I wish there would be a similar @seq plugin for Rider that would just spin up a local dev Seq instance for me and sow the logs directly in the IDE.

    github.com/bitbonk/OTELSerilog

    #dotnet #o11y #observability #dotnet

  6. @nblumhardt Look, #JetBrainsRider learned a new #OpenTelemetry trick and it works pretty well with #SeriLog
    I wish there would be a similar @seq plugin for Rider that would just spin up a local dev Seq instance for me and sow the logs directly in the IDE.

    github.com/bitbonk/OTELSerilog

    #dotnet #o11y #observability #dotnet

  7. @nblumhardt Look, #JetBrainsRider learned a new #OpenTelemetry trick and it works pretty well with #SeriLog
    I wish there would be a similar @seq plugin for Rider that would just spin up a local dev Seq instance for me and sow the logs directly in the IDE.

    github.com/bitbonk/OTELSerilog

    #dotnet #o11y #observability #dotnet

  8. @nblumhardt Look, #JetBrainsRider learned a new #OpenTelemetry trick and it works pretty well with #SeriLog
    I wish there would be a similar @seq plugin for Rider that would just spin up a local dev Seq instance for me and sow the logs directly in the IDE.

    github.com/bitbonk/OTELSerilog

    #dotnet #o11y #observability #dotnet

  9. @nblumhardt Look, #JetBrainsRider learned a new #OpenTelemetry trick and it works pretty well with #SeriLog
    I wish there would be a similar @seq plugin for Rider that would just spin up a local dev Seq instance for me and sow the logs directly in the IDE.

    github.com/bitbonk/OTELSerilog

    #dotnet #o11y #observability #dotnet

  10. @nblumhardt I am using Microsoft.Extension.Logging and System.Diagnostics.Activity for logging and #Serilog just for the sinks. Now I would like to log to #Seq (`WriteTo.Seq()`) and also enable traces and spans. Is there a place where I can see/learn how to do this?

  11. @nblumhardt I am using Microsoft.Extension.Logging and System.Diagnostics.Activity for logging and #Serilog just for the sinks. Now I would like to log to #Seq (`WriteTo.Seq()`) and also enable traces and spans. Is there a place where I can see/learn how to do this?

  12. @nblumhardt I am using Microsoft.Extension.Logging and System.Diagnostics.Activity for logging and #Serilog just for the sinks. Now I would like to log to #Seq (`WriteTo.Seq()`) and also enable traces and spans. Is there a place where I can see/learn how to do this?

  13. @nblumhardt I am using Microsoft.Extension.Logging and System.Diagnostics.Activity for logging and #Serilog just for the sinks. Now I would like to log to #Seq (`WriteTo.Seq()`) and also enable traces and spans. Is there a place where I can see/learn how to do this?

  14. @nblumhardt I am using Microsoft.Extension.Logging and System.Diagnostics.Activity for logging and #Serilog just for the sinks. Now I would like to log to #Seq (`WriteTo.Seq()`) and also enable traces and spans. Is there a place where I can see/learn how to do this?

  15. Quick blog article, On Logging; just a quick post about choosing logging strageies in different environments (and
    some discussion on WHY you log differently in different circumstances) mostlylucid.net/blog/onlogging
    #aspnetcore #serilog

  16. Quick blog article, On Logging; just a quick post about choosing logging strageies in different environments (and
    some discussion on WHY you log differently in different circumstances) mostlylucid.net/blog/onlogging
    #aspnetcore #serilog

  17. Quick blog article, On Logging; just a quick post about choosing logging strageies in different environments (and
    some discussion on WHY you log differently in different circumstances) mostlylucid.net/blog/onlogging

  18. Quick blog article, On Logging; just a quick post about choosing logging strageies in different environments (and
    some discussion on WHY you log differently in different circumstances) mostlylucid.net/blog/onlogging
    #aspnetcore #serilog

  19. Quick blog article, On Logging; just a quick post about choosing logging strageies in different environments (and
    some discussion on WHY you log differently in different circumstances) mostlylucid.net/blog/onlogging
    #aspnetcore #serilog

  20. Following yesterday's write-up of #Serilog 4.1 fallback sinks, here's a tiny test harness you can use to explore the new batch retry algorithm, along with an example run: nblumhardt.com/2024/10/retry-t

  21. Following yesterday's write-up of #Serilog 4.1 fallback sinks, here's a tiny test harness you can use to explore the new batch retry algorithm, along with an example run: nblumhardt.com/2024/10/retry-t

  22. Following yesterday's write-up of #Serilog 4.1 fallback sinks, here's a tiny test harness you can use to explore the new batch retry algorithm, along with an example run: nblumhardt.com/2024/10/retry-t

  23. Following yesterday's write-up of #Serilog 4.1 fallback sinks, here's a tiny test harness you can use to explore the new batch retry algorithm, along with an example run: nblumhardt.com/2024/10/retry-t

  24. Following yesterday's write-up of #Serilog 4.1 fallback sinks, here's a tiny test harness you can use to explore the new batch retry algorithm, along with an example run: nblumhardt.com/2024/10/retry-t

  25. So I've done some C# [#csharp] today. I tried reproducing some things I really liked in the `tracing` crate in Rust:

    - The module path to the function (the call site or something ?)
    - Inline parameters as context

    I tried #NLog. It works very well, but getting the call site was either performance expensive or I had to do a dance when logging stuff.

    I checked out #Serilog, I haven't found something where the class logging the message would be written.

    I tried #log4net. The doc is a bit lackluster (where the fsck is the API doc !?) but I was able to log the module calling the log function. Haven't tried with properties yet.

    Do you have any #logging libs I should checkout or some examples on paw ?

  26. Hey #dotnet #dev s,
    heard of #Serilog ?

    If not, time to look into it!

    Great Video by Milan Jovanović (does someone know his mastodon address?)

    youtube.com/watch?v=w7yDuoCLVv

    #GLHF

    #seesharp #csharp #logging #youtube

  27. My org has some #dotnet logging going to a "not quite ELK" Elasticsearch logging stack. We use #Serilog, but we're still on ES 7.17.x which means we're stuck between deprecated index templates and the newer composable ones that don't work with the ES Serilog sink.

    I've always struggled with getting the lifecycles set up correctly for rollover, so I set up a demo project to radically speed up the feedback cycle from weeks to minutes. Hope this helps someone else.

    github.com/jake-carpenter/seri

  28. @nblumhardt @ICooper

    TBH, going from #dotnet #serilog with Serilog.Exceptions to OTEL felt like step a backwards in one respect: recording structured exceptions.

    .NET exceptions are structured data: public fields have names and typed value, and can be recorded as such.

    .NET typed exceptions have custom data: Put the orderId in the orderId prop, not in message text.

    .NET exceptions are recursively structured due to inner ex.

    Embracing this in telemetry leads to better exception design

  29. Building async batching directly into #Serilog.

    Wrangling System.Threading.Channels to implement an async try-read-with-timeout got gnarly! 😅

    github.com/serilog/serilog/pul

  30. @nblumhardt So in general for redaction, the suggested approach is I write my own custom redacting sink?
    Would it be worth to put all the redaction functionality into a reusable #serilog #nuget package?

  31. Aiming for a more complete #serilog redaction example than otherwise exists out there; spot anything that I've missed? 🙏 github.com/nblumhardt/serilog-

  32. @nblumhardt We have a type that does not override `ToString()`. But we *always* want it to be serialized as a specific string in #Serilog. Does Serilog have means to achieve that?
    I know about `Destructure.ByTransforming` but that will require the `@` operator in the log template, which is easy to forget. We would prefer that it is not required for that type. #dotnet

  33. Happy 2024! 🎉 First PR of the year merged 😁

    I've rewritten most of Serilog.Sinks.PeriodicBatching on System.Threading.Channels, casting off a tonne of crufty baggage.

    Since it's such a core part of the #Serilog ecosystem, it needs some serious downstream testing - if you're maintaining a batched sink or can PR an update to one, all help appreciated 🙏

    github.com/serilog/serilog-sin

  34. Rolling out the .NET 8 versions of the Microsoft.Extensions.*-related #Serilog packages today, which will bring some core Serilog updates along for the ride. Let me know if you spot anything odd! 😅

  35. I made simple #dotnet library for #Serilog style ForContext when using Microsoft.Extensions.Logging (MEL). Wanted to add some structured logging, but I find the BeginScope too cumbersome for chaining. #logging github.com/jukkahyv/mel-scoped