文章速览
- Log 全局变量
- 创建实例
坚持记录实属不易,希望友善多金的码友能够随手点一个赞。
共同创建氛围更加良好的开发者社区!
谢谢~
Log 全局变量
/// <summary>
/// 日志系统
/// </summary>
public ILogger Log { get; private set; }
创建实例
/// <summary>
/// 独立的日志系统
/// </summary>
/// <returns></returns>
private ILogger buildLogService()
{
var basepath = Path.Combine(获取路径方法, "Log");
var logInstance = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(v => v.Level == Serilog.Events.LogEventLevel.Error || v.Level == Serilog.Events.LogEventLevel.Fatal)
.WriteTo.File(
Path.Combine(basepath, "error-.txt"),
//outputTemplate: @"{Timestamp:yyyy-MM-dd HH:mm-dd } [{Level:u3}] {Message:lj} {NewLine}",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
encoding: Encoding.UTF8,
retainedFileCountLimit: 20,
fileSizeLimitBytes: 1024 * 2048))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(v => v.Level == Serilog.Events.LogEventLevel.Information)
.WriteTo.File(
Path.Combine(basepath, "info-.txt"),
//outputTemplate: @"{Timestamp:yyyy-MM-dd HH:mm-dd } [{Level:u3}] {Message:lj} {NewLine}",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
encoding: Encoding.UTF8,
retainedFileCountLimit: 20,
fileSizeLimitBytes: 1024 * 2048))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(v => v.Level == Serilog.Events.LogEventLevel.Warning)
.WriteTo.File(
Path.Combine(basepath, "warning-.txt"),
//outputTemplate: @"{Timestamp:yyyy-MM-dd HH:mm-dd } [{Level:u3}] {Message:lj} {NewLine}",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
encoding: Encoding.UTF8,
retainedFileCountLimit: 20,
fileSizeLimitBytes: 1024 * 2048))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(v => v.Level == Serilog.Events.LogEventLevel.Debug)
.WriteTo.File(
Path.Combine(basepath, "debug-.txt"),
//outputTemplate: @"{Timestamp:yyyy-MM-dd HH:mm-dd } [{Level:u3}] {Message:lj} {NewLine}",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
encoding: Encoding.UTF8,
retainedFileCountLimit: 20,
fileSizeLimitBytes: 1024 * 2048))
.WriteTo.Logger(lc => lc
.Filter.ByIncludingOnly(v => v.Level == Serilog.Events.LogEventLevel.Verbose)
.WriteTo.File(
Path.Combine(basepath, "verbose-.txt"),
//outputTemplate: @"{Timestamp:yyyy-MM-dd HH:mm-dd } [{Level:u3}] {Message:lj} {NewLine}",
rollingInterval: RollingInterval.Day,
rollOnFileSizeLimit: true,
encoding: Encoding.UTF8,
retainedFileCountLimit: 20,
fileSizeLimitBytes: 1024 * 2048))
.CreateLogger();
return logInstance;
}