我有一个现有的应用程序,我将从Azure Web应用程序转移到Service。我有很多特定于应用程序的日志代码,它使用微软的Microsoft.Extensions.Logging.ILogger抽象,给出了适当的提供者(控制台、蔚蓝web应用程序)给我控制台和LogStream输出。效果很好。
在使用Service时,查看这些应用程序日志的最简单方法是什么?
发布于 2018-03-28 22:22:48
您可以使用EventFlow捕获日志,并像ApplicationInsights一样转发到目标存储。您仍然可以使用现有的ILogger或替换它来使用ETW。
例如,如果您想要将日志写入跟踪,并且它们捕获跟踪信息以转发到另一个存储,则必须:
添加对包Microsoft.Diagnostics.EventFlow的引用
创建eventFlowConfig.json文件以定义输入和输出:
{
"inputs": [
{
"type": "Trace",
"traceLevel": "Warning"
}
],
"outputs": [
{
"type": "ApplicationInsights",
"instrumentationKey": "00000000-0000-0000-0000-000000000000"
}
]
}用EventFlow管道包装webapp初始化:
using (var pipeline = DiagnosticPipelineFactory.CreatePipeline("eventFlowConfig.json"))
{
//App initialization goes here
System.Diagnostics.Trace.TraceWarning("EventFlow is working!");
Console.ReadLine();//this will be replaced by your webHost start
}您可以有许多输入,所以如果您还想监视ETW事件,也可以将它添加到输入列表中。
https://stackoverflow.com/questions/49541431
复制相似问题