簡體   English   中英

Serilog:打開日志文件

[英]Serilog: Open log file

有沒有辦法從日志類中獲取完整的文件名? 記錄器創建一個類似C:\\MyPath\\log-20160631.txt格式的文件

我無法訪問用於記錄器初始化的源文件名。

編輯:這是記錄器的初始化:

Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Debug()
            .WriteTo.LiterateConsole()
            .WriteTo.RollingFile(@"C:\MyPath\log.txt")
            .CreateLogger();

在代碼中的每個位置我都可以使用例如Log.Information()但是我如何獲得接收器信息? 我想獲取我傳遞給滾動文件接收器的文件名。

我目前的解決方法是手動生成真實文件(瘋狂丑陋的代碼):

public string LogFilename
{
   get
   {
      string path = Path.GetDirectoryName(LogFilenameTemplate);
      string filenameWithoutExtension = Path.GetFileNameWithoutExtension(LogFilenameTemplate);
      string extension = Path.GetExtension(LogFilenameTemplate);
      string date = DateTime.Now.ToString("yyyyMMdd");
      string fullFilename = Path.Combine(path, filenameWithoutExtension + "-" + date + extension);
      return fullFilename;
   }
}

我從GitHub Repo得到的格式。

不,無法從 Serilog 檢索文件名。 最好的選擇是使用System.IO類列出目錄中的文件,然后打開具有最近修改日期的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM