ErrCode Ответов: 0

Как использовать asynchronoustracelistenerwrapper корпоративной библиотеки 6 в configurationsourcebuilder


Привет,

Сначала у меня был код для программной настройки ведения журнала через корпоративную библиотеку Microsoft 6, и он использовал AsynchronousTraceListenerWrapper вокруг RollingFlatFileTraceListener. Что-то вроде этого:
var logFormatter = new TextFormatter("{timestamp} {message}");
var rollingFlatTraceListener = new RollingFlatFileTraceListener(logFilePath, rollInterval: RollInterval.Midnight, rollSizeKB: 10*1024, rollFileExistsBehavior: RollFileExistsBehavior.Increment, maxArchivedFiles: 14, formatter: logFormatter, header: null, footer: null);
var asyncRollingFlatTraceListener = new AsynchronousTraceListenerWrapper(rollingFlatTraceListener, disposeTimeout: TimeSpan.FromMinutes(10));


Однако недавно я наткнулся на пример использования ConfigurationSourceBuilder для настройки ведения журнала (что-то называемое Fluent API), и мне захотелось попробовать его. Что я не смог найти или понять, так это то, как по-прежнему использовать AsynchronousTraceListenerWrapper для обертывания RollingFlatFileTraceListener с помощью ConfigurationSourceBuilder. Любые намеки будут оценены по достоинству!

Примеры использования ConfigurationSourceBuilder:
* Использование Fluent Configuration API[^]
* c# - обновление до Enterprise Library 6.0 дает проблемы с & amp;#39; EnterpriseLibraryContainer' - переполнение стека[^]

Примечание: Я заметил, что документация для ConfigurationSourceBuilder на MSDN была для Enterprise Library 5, поэтому я надеюсь, что не прошу чего-то невозможного.

Что я уже пробовал:

var builder = new ConfigurationSourceBuilder();
builder.ConfigureLogging()
       .WithOptions
       .DoNotRevertImpersonation();
       .LogToCategoryNamed("Default")
       .WithOptions.SetAsDefaultCategory()
       .SendTo.Custom<AsynchronousTraceListenerWrapper>("test")
...

Последний бит, похоже, не работает IntelliSense, так что же делать вместо этого?

0 Ответов