mirror of
https://github.com/BililiveRecorder/BililiveRecorder.git
synced 2024-11-16 03:32:20 +08:00
Cli: Separate log files
This commit is contained in:
parent
9151efc70b
commit
bcc39843c1
|
@ -27,7 +27,9 @@ using Serilog;
|
||||||
using Serilog.Core;
|
using Serilog.Core;
|
||||||
using Serilog.Events;
|
using Serilog.Events;
|
||||||
using Serilog.Exceptions;
|
using Serilog.Exceptions;
|
||||||
|
using Serilog.Filters;
|
||||||
using Serilog.Formatting.Compact;
|
using Serilog.Formatting.Compact;
|
||||||
|
using Serilog.Sinks.SystemConsole.Themes;
|
||||||
|
|
||||||
namespace BililiveRecorder.Cli
|
namespace BililiveRecorder.Cli
|
||||||
{
|
{
|
||||||
|
@ -415,6 +417,10 @@ namespace BililiveRecorder.Cli
|
||||||
var logFilePath = Environment.GetEnvironmentVariable("BILILIVERECORDER_LOG_FILE_PATH");
|
var logFilePath = Environment.GetEnvironmentVariable("BILILIVERECORDER_LOG_FILE_PATH");
|
||||||
if (string.IsNullOrWhiteSpace(logFilePath))
|
if (string.IsNullOrWhiteSpace(logFilePath))
|
||||||
logFilePath = Path.Combine(AppContext.BaseDirectory, "logs", "bilirec.txt");
|
logFilePath = Path.Combine(AppContext.BaseDirectory, "logs", "bilirec.txt");
|
||||||
|
logFilePath = Path.GetFullPath(logFilePath);
|
||||||
|
var logFilePathMicrosoft = Path.Combine(Path.GetDirectoryName(logFilePath)!, Path.GetFileNameWithoutExtension(logFilePath) + "-web" + Path.GetExtension(logFilePath));
|
||||||
|
|
||||||
|
var matchMicrosoft = Matching.FromSource("Microsoft");
|
||||||
|
|
||||||
return new LoggerConfiguration()
|
return new LoggerConfiguration()
|
||||||
.MinimumLevel.Verbose()
|
.MinimumLevel.Verbose()
|
||||||
|
@ -433,8 +439,21 @@ namespace BililiveRecorder.Cli
|
||||||
x.FileCreationTime,
|
x.FileCreationTime,
|
||||||
x.FileModificationTime,
|
x.FileModificationTime,
|
||||||
})
|
})
|
||||||
.WriteTo.Console(restrictedToMinimumLevel: logLevel, outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] [{RoomId}] {Message:lj}{NewLine}{Exception}")
|
.WriteTo.Console(restrictedToMinimumLevel: logLevel, outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] [{RoomId}] {Message:lj}{NewLine}{Exception}", theme: AnsiConsoleTheme.Code)
|
||||||
.WriteTo.File(new CompactJsonFormatter(), logFilePath, restrictedToMinimumLevel: logFileLevel, shared: true, rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true)
|
.WriteTo.Logger(sl =>
|
||||||
|
{
|
||||||
|
sl
|
||||||
|
.Filter.ByExcluding(matchMicrosoft)
|
||||||
|
.WriteTo.File(new CompactJsonFormatter(), logFilePath, restrictedToMinimumLevel: logFileLevel, shared: true, rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true)
|
||||||
|
;
|
||||||
|
})
|
||||||
|
.WriteTo.Logger(sl =>
|
||||||
|
{
|
||||||
|
sl
|
||||||
|
.Filter.ByIncludingOnly(matchMicrosoft)
|
||||||
|
.WriteTo.File(new CompactJsonFormatter(), logFilePathMicrosoft, restrictedToMinimumLevel: logFileLevel, shared: true, rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true)
|
||||||
|
;
|
||||||
|
})
|
||||||
.CreateLogger();
|
.CreateLogger();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user