gwi*_*003 5 c# logging log4net owin
如何配置ILogger写到其他位置?我想将日志写入C:\Logs\MyLogFile.log。
我正在这样设置我的习惯LoggerFactory:
app.Properties["server.LoggerFactory"] = new MyCustomLoggerFactory();
Run Code Online (Sandbox Code Playgroud)
MyCustomLoggerFactory 看起来像这样:
public class MyCustomLoggerFactory: ILoggerFactory
{
public ILogger Create(string name)
{
return new CustomLogger();
}
}
Run Code Online (Sandbox Code Playgroud)
然后,ICustomLogger接口和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");
}
}
Run Code Online (Sandbox Code Playgroud)
没有办法设置写入日志文件的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(...);
}
....
}
}
Run Code Online (Sandbox Code Playgroud)
确保您有配置并且可以进行 log4net 配置以写入特定位置或附加程序。
| 归档时间: |
|
| 查看次数: |
3896 次 |
| 最近记录: |