Browse Source

show graphics engine scriban errors in log (#2491)

* show graphics engine scriban errors in log

* better fix
pull/2493/head
Jason Dove 8 months ago committed by GitHub
parent
commit
9ec4d0a85c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 14
      ErsatzTV.Core/InMemoryLogService.cs
  3. 2
      ErsatzTV.Infrastructure/Streaming/Graphics/GraphicsElementLoader.cs

1
CHANGELOG.md

@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Changed
- Use table instead of tree view on blocks page
- Graphics engine: show scriban template rendering errors in playback troubleshooting log
## [25.7.0] - 2025-09-14
### Added

14
ErsatzTV.Core/InMemoryLogService.cs

@ -16,8 +16,18 @@ public class InMemorySink : ILogEventSink @@ -16,8 +16,18 @@ public class InMemorySink : ILogEventSink
{
ConcurrentQueue<string> logQueue = _logs.GetOrAdd(correlationId, _ => new ConcurrentQueue<string>());
string message = logEvent.RenderMessage(CultureInfo.CurrentCulture);
logQueue.Enqueue($"[{logEvent.Timestamp:HH:mm:ss} {logEvent.Level}] {message}");
using (var writer = new StringWriter())
{
writer.Write($"[{logEvent.Timestamp:HH:mm:ss} {logEvent.Level}] ");
logEvent.RenderMessage(writer, CultureInfo.CurrentCulture);
if (logEvent.Exception != null)
{
writer.WriteLine();
writer.Write(logEvent.Exception);
}
logQueue.Enqueue(writer.ToString());
}
while (logQueue.Count > 100)
{

2
ErsatzTV.Infrastructure/Streaming/Graphics/GraphicsElementLoader.cs

@ -221,7 +221,7 @@ public partial class GraphicsElementLoader( @@ -221,7 +221,7 @@ public partial class GraphicsElementLoader(
}
catch (Exception ex)
{
logger.LogWarning(ex, "Failed to load process graphics element YAML definition as template");
logger.LogWarning(ex, "Failed to render graphics element YAML definition as scriban template");
return Option<string>.None;
}
}

Loading…
Cancel
Save