C# サーバー ロギング モジュール
ルールに従って (たとえば、月/日/時間の構造に従って) 対応するファイルにログを出力できるようにサーバーのログを構成し、ログ ファイルを年に応じて名前が付けられたログ ファイルに分割します。月、日、1 つのログ ファイルが大きくなりすぎないようにする
NuGet パッケージの Serilog パッケージを使用してログを収集する
<ItemGroup>
<PackageReference Include="Serilog" Version="2.11.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="4.0.1" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
</ItemGroup>
- 外部から直接使用するための DLL の生成を容易にするクラス ライブラリ プログラムを作成する
- 再梱包する
public class Logger
{
private static Serilog.Core.Logger coreLogger;
private static Logger warpLogger;
public static Serilog.Core.Logger Instance => coreLogger;
public Logger(string logFileName)
{
coreLogger = new LoggerConfiguration().
WriteTo.Console().
WriteTo.File($"{
logFileName}-.txt", rollingInterval: RollingInterval.Minute).
CreateLogger();
}
public static void Create(string logFileName)
{
warpLogger = (warpLogger == null) ? new Logger(logFileName) : warpLogger;
}
}