Я использовал TraceWriter класс для записи журналов в моей функции лазури.Когда функция была маленькой, это было довольно хорошо, я мог видеть журналы в функции Monitor section и ApplicationInsight .
Теперь я создаю приложение и хочуиспользовать общую регистрацию в приложении (Web, Jobs & functions) с DI.
Я видел Интерфейс ILogger , его легко заменить на TraceWriter, но для моего другого приложения (Web и Jobs) я хочу решить эту проблему, используя свой собственный DI, но яЯ не могу найти реализованный класс.
Serilog.TraceWriter выглядит хорошо, но я не хочу использовать traceWriter где-либо в параметрах моего метода.
Любая идея, как решить ILogger или пользовательскую реализацию?Это будет работать во всех приложениях, я хочу отправлять свои журналы в ApplicationInsights и также хочу отслеживать с помощью раздела монитора функций
На данный момент я использую приведенный ниже пользовательский код
public class Log : ILog
{
private static TelemetryClient telemetryClient = new TelemetryClient() { InstrumentationKey = ConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"] };
public void Error(string message, Exception ex = null)
{
telemetryClient.TrackTrace(message, SeverityLevel.Error);
if (ex != null)
telemetryClient.TrackException(ex);
}
public void Info(string message)
{
telemetryClient.TrackTrace(message, SeverityLevel.Information);
}
public void Verbose(string message)
{
telemetryClient.TrackTrace(message, SeverityLevel.Verbose);
}
public void Warning(string message)
{
telemetryClient.TrackTrace(message, SeverityLevel.Warning);
}
public TelemetryClient TelemetryClient
{
get
{
return telemetryClient;
}
}
}