12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System;
- using System.Reactive.Disposables;
- using Avalonia.Logging;
- namespace Avalonia.UnitTests
- {
- public delegate void LogCallback(
- LogEventLevel level,
- string area,
- object source,
- string messageTemplate,
- params object[] propertyValues);
- public class TestLogSink : ILogSink
- {
- private readonly LogCallback _callback;
- public TestLogSink(LogCallback callback)
- {
- _callback = callback;
- }
- public static IDisposable Start(LogCallback callback)
- {
- var sink = new TestLogSink(callback);
- Logger.Sink = sink;
- return Disposable.Create(() => Logger.Sink = null);
- }
- public bool IsEnabled(LogEventLevel level, string area)
- {
- return true;
- }
- public void Log(LogEventLevel level, string area, object source, string messageTemplate)
- {
- _callback(level, area, source, messageTemplate);
- }
- public void Log(LogEventLevel level, string area, object source, string messageTemplate,
- params object[] propertyValues)
- {
- _callback(level, area, source, messageTemplate, propertyValues);
- }
- }
- }
|