GithubHelp home page GithubHelp logo

lucadecamillis / serilog-sinks-spectre Goto Github PK

View Code? Open in Web Editor NEW
17.0 1.0 6.0 61 KB

C# serilog sink for spectre console

License: Apache License 2.0

C# 100.00%
serilog serilog-sink spectre-console microsoft-extensions-logging

serilog-sinks-spectre's People

Contributors

dgosbell avatar lucadecamillis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

serilog-sinks-spectre's Issues

Crash for EF Core logs: System.InvalidOperationException: Encountered malformed markup tag at position 16.

The Sink can't output EF Core logs that contains SQL queries, I guess it might be because brackets are used?

###Stacktrace

2024-05-22T08:35:51.5205282Z Caught exception while emitting to sink Serilog.Sinks.Spectre.SpectreConsoleSink: System.InvalidOperationException: Encountered malformed markup tag at position 16.
   at Spectre.Console.MarkupTokenizer.ReadMarkup() in /_/src/Spectre.Console/Internal/Text/Markup/MarkupTokenizer.cs:line 183
   at Spectre.Console.MarkupTokenizer.MoveNext() in /_/src/Spectre.Console/Internal/Text/Markup/MarkupTokenizer.cs:line 27
   at Spectre.Console.MarkupParser.Parse(String text, Style style) in /_/src/Spectre.Console/Internal/Text/Markup/MarkupParser.cs:line 19
   at Spectre.Console.Markup..ctor(String text, Style style) in /_/src/Spectre.Console/Widgets/Markup.cs:line 42
   at Serilog.Sinks.Spectre.Renderers.MessageTemplateOutputTokenRenderer.Render(LogEvent logEvent)+MoveNext()
   at System.Collections.Generic.LargeArrayBuilder`1.AddRange(IEnumerable`1 items)
   at System.Collections.Generic.SparseArrayBuilder`1.ReserveOrAdd(IEnumerable`1 items)
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToArray()
   at Serilog.Sinks.Spectre.SpectreConsoleSink.Emit(LogEvent logEvent)
   at Serilog.Core.Sinks.SafeAggregateSink.Emit(LogEvent logEvent)

This is how the log is printed using the normal Console Sink:

      [10:32:49 INF] Executed DbCommand (4ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT [p].[Id], [p].[ChangedBy], [p].[ChangedOn], [p].[CreatedBy], [p].[CreatedOn], [p].[GroupId], [p].[Name], [t].[CategoriesId], [t].[ParametersId], [t].[Id], [t].[Name]
FROM [Parameters] AS [p]
LEFT JOIN (
    SELECT [c].[CategoriesId], [c].[ParametersId], [c0].[Id], [c0].[Name]
    FROM [CategoryParameter] AS [c]
    INNER JOIN [Categories] AS [c0] ON [c].[CategoriesId] = [c0].[Id]

Support Serilog.Expressions (ITextFormatter)

Hello,
I was wondering if the author has better ideas than mines on how would be a possible way to implement support for serilog expressions.
I'm trying to play with a local fork (see here and here, but it does not seems to be easy as I thought.
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.