gpt4 book ai didi

c# - 配置 Microsoft.Owin.Logging.ILogger

转载 作者:太空狗 更新时间:2023-10-29 23:30:46 30 4
gpt4 key购买 nike

如何配置我的 ILogger 以写入不同的位置?我想将日志写入 C:\Logs\MyLogFile.log

我正在像这样设置我的自定义 LoggerFactory:

app.Properties["server.LoggerFactory"] = new MyCustomLoggerFactory();

MyCustomLoggerFactory 看起来像这样:

public class MyCustomLoggerFactory: ILoggerFactory
{
public ILogger Create(string name)
{
return new CustomLogger();
}
}

ICustomLogger 接口(interface)和 CustomLogger 类如下所示:

public interface ICustomLogger : ILogger
{

}

public class CustomLogger : ICustomLogger
{
public bool WriteCore(TraceEventType eventType, int eventId, object state,
Exception exception, Func<object, Exception, string> formatter)
{
throw new NotImplementedException("Dont use this one dummy");
}
}

没有办法设置写入日志文件的 LogLevel 或 Url 吗?理想情况下,我还想为此使用 log4net。

最佳答案

您可以在您的自定义记录器中实现 log4net,您必须使用 TraceEventType 来确定日志记录级别:

public class CustomLogger : ICustomLogger 
{
public bool WriteCore(TraceEventType eventType, int eventId, object state,
Exception exception, Func<object, Exception, string> formatter)
{
ILog logger = LogManager.GetLogger("myowinlogger");
switch (eventType){
case(TraceEventType.Critical):
{
logger.Fatal(...);
}
....

}
}

确保您有一个配置,并且您可以进行 log4net 配置以写入特定位置或附加程序。

关于c# - 配置 Microsoft.Owin.Logging.ILogger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28029085/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com