如何在ASP.NET Core 6中使用监控侦听器
2025-05-15 运营
都有的字符预览了一个侦听器,该侦听器未去掉到侦听器空集,但仍能够将搜索第一时间邮寄到转换成后台、文件或任何预配有的转换成。
拷贝
TextWriterTraceListener myFirstListener = new
TextWriterTraceListener("Output.txt", "myFirstListener");
myFirstListener.WriteLine("This is a test message.");
myFirstListener.Flush();
在ASP.NET Core 6当中创始人内置搜索侦听器在大多数只能,.NET 6附带的搜索侦听器将满足要求。但是,如果JaScript想将搜索第一时间转换成到有所不同的中继站,可以付诸自己的搜索侦听器。
要构建内置搜索侦听器,应创始人一个扩大TraceListener抽象类的类。TraceListener类当中有几个虚拟和抽象方式。JaScript至少应付诸Write和WriteLine方式。内置搜索侦听器如下所示:
拷贝
public class CustomTraceListener : TraceListener
{
public CustomTraceListener(ILoggerFactory loggerFactory)
{
}
public override void Write(string? message, string? category)
{
}
public override void Write(string? message)
{
}
public override void WriteLine(string? message)
{
}
}
因此,内置搜索侦听器类必需不具备参数构造函数以及Write和WriteLine方式。
JaScript还需要一个表示黑盒子的ILogger实例、一个创始人黑盒子的ILoggerFactory和一个StringBuilder来存储搜索第一时间,然后再将它们邮寄到存档能够。
拷贝
private readonly ILoggerFactory _loggerFactory;
private readonly ILogger _iLogger;
private readonly StringBuilder _stringBuilder = new();
JaScript可以利用依赖汇流在构造函数当中汇流ILoggerFactory的实例,然后用到该实例创始人ILogger的实例。
拷贝
public CustomTraceListener(ILoggerFactory loggerFactory)
{
_loggerFactory = loggerFactory;
_iLogger = loggerFactory.CreateLogger(nameof(CustomTraceListener));
}
下面是Write和WriteLine方式的最小付诸:
拷贝
public override void Write(string? message, string? category)
{
_stringBuilder.Append(message + "-" + category);
}
public override void Write(string? message)
{
_stringBuilder.Append(message);
}
public override void WriteLine(string? message)
{
_stringBuilder.AppendLine(message);
_iLogger.LogInformation(_stringBuilder.ToString());
_stringBuilder.Clear();
}
ASP.NET Core 6当中清晰的内置搜索侦听器下述都有是内置搜索侦听器的最小付诸的清晰源字符,以供参考。
拷贝
using System.Collections.Concurrent;
using System.Diagnostics;
using System.Text;
namespace TraceListenerDemo
{
public class CustomTraceListener : TraceListener
{
private readonly ILoggerFactory _loggerFactory;
private readonly ILogger _iLogger;
private readonly StringBuilder _stringBuilder = new();
public CustomTraceListener(ILoggerFactory loggerFactory)
{
_loggerFactory = loggerFactory;
_iLogger =
loggerFactory.CreateLogger(nameof(CustomTraceListener));
}
public override void Write(string? message, string? category)
{
_stringBuilder.Append(message + "-" + category);
}
public override void Write(string? message)
{
_stringBuilder.Append(message);
}
public override void WriteLine(string? message)
{
_stringBuilder.AppendLine(message);
_iLogger.LogInformation(_stringBuilder.ToString());
_stringBuilder.Clear();
}
}
}
在Program.cs文件当中申请人内置搜索侦听器要用到内置搜索侦听器,应用到都有字符将其申请人到Listeners空集。
拷贝
var loggerFactory = app.Services.GetRequiredService();
Trace.Listeners.Add(new LoggerTraceListener(loggerFactory));
因为内置搜索侦听器已经去掉到侦听器空集当中,所以它将捕捉到直通时转化成的所有搜索第一时间,并将转换成邮寄到黑盒子。它还将邮寄在插件当中显式邮寄的任何搜索第一时间(就像在上去的myFirstListener下述当中所做的那样)。
因此,去掉到Listeners空集的任何侦听器都可以捕捉到直通时转化成的搜索以及在插件当中显式邮寄的任何搜索第一时间。但是,如果未将搜索侦听器去掉到空集当中,则它并不需要邮寄在插件当中显式邮寄的搜索第一时间。它可能会捕捉到直通时转化成的任何搜索第一时间。
用到内置搜索侦听器时,必需记下关闭或刷新搜索侦听器以必需清空转换成默认。可以利用StringBuilderCache类来优化用到StringBuilder的字符(在CustomTraceListener类当中)。
原文标题:How to work with trace listeners in ASP.NET Core 6,作者:Joydip Kanjilal
。秦皇岛男科医院哪家最好宁波看白癜风去哪里
黑龙江炎治疗医院
上海哪家医院做人流比较好
河南白癜风医院挂号咨询
如何缓解眼睛疲劳酸痛
克癀胶囊和片仔癀是否一样
内痔外痔
干眼症异物感怎么能消失
鱼腥草合剂的功效与作用
- 05-15强者无路不至 放享自在人生 一汽丰田SUV家族拓疆环游圆满收官!
- 05-15山水、森林还有艺术“竹林”,8月底带娃避暑去哪里?
- 05-15南湖第二届星空帐篷音乐节8月27日开幕
- 05-1525平方公里!辽宁这一座山,景色优美,还被誉为千朵龙山!
- 05-15征文选登之六 ∣ 欧文灿:青色玉山“樊重石室”
- 05-15在洛阳遇见红勇者,为烈日下热爱城市的你加油
- 05-150.96平方公里!湖南这一岛屿,又称洞庭山脚下,还藏着七十二座山脚下峰!
- 05-15170平方千米!贵州这一石林尽管,规模宏大,色彩纷呈,就在毕节
- 05-154.2万公顷!甘肃这一森林公园,四大部分组合成,看点十足!
- 05-15雨凇雾凇,山下佛光!河南这一座山,还被誉为万国建筑博物馆!