[英]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.