Как использовать 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, так что же делать вместо этого?