63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using Microsoft.Extensions.Configuration;
|
|
using Serilog;
|
|
using Serilog.Core;
|
|
using Serilog.Events;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace Nirvana.Common
|
|
{
|
|
public class LogFactory
|
|
{
|
|
public static Logger _logger;
|
|
static LogFactory()
|
|
{
|
|
|
|
}
|
|
|
|
public static Logger GetLogger(IConfiguration configuration)
|
|
{
|
|
_logger = new LoggerConfiguration()
|
|
.ReadFrom.Configuration(configuration)
|
|
//.MinimumLevel.Information()
|
|
//.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
|
|
//.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Warning)
|
|
.Enrich.FromLogContext()
|
|
.WriteTo.Map(
|
|
evt => evt.Level,
|
|
(level, wt) => wt.File($"{Configs.GetString("logfile")}/{DateTime.Now.ToString("yyyy-MM-dd")}/" + level + ".log", outputTemplate: "{Timestamp:HH:mm:ss} ({Application}/{MachineName}/{ThreadId})({SourceContext}){NewLine}{Message}{NewLine}{Exception}============================{NewLine}")
|
|
)
|
|
.CreateLogger();
|
|
return _logger;
|
|
}
|
|
|
|
public static void InsertErrorLog(string msg, int type = 1)
|
|
{
|
|
msg = $"{msg}";
|
|
switch (type)
|
|
{
|
|
case 1:
|
|
_logger.Error(msg);
|
|
break;
|
|
case 2:
|
|
_logger.Information(msg);
|
|
break;
|
|
case 3:
|
|
_logger.Warning(msg);
|
|
break;
|
|
case 4:
|
|
_logger.Debug(msg);
|
|
break;
|
|
case 5:
|
|
_logger.Fatal(msg);
|
|
break;
|
|
default:
|
|
_logger.Error(msg);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|