From 1cc886a23e08be576b18f62ac9dbb1bb6ce08fb6 Mon Sep 17 00:00:00 2001 From: nilaoda Date: Wed, 14 Jun 2023 15:50:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=97=A5=E5=BF=97=E8=BE=93?= =?UTF-8?q?=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/N_m3u8DL-RE.Common/Log/Logger.cs | 30 +++++++++++++++++++ src/N_m3u8DL-RE.Common/Util/HTTPUtil.cs | 1 + src/N_m3u8DL-RE/Directory.Build.props | 2 +- .../Downloader/SimpleDownloader.cs | 2 ++ src/N_m3u8DL-RE/Program.cs | 1 + 5 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/N_m3u8DL-RE.Common/Log/Logger.cs b/src/N_m3u8DL-RE.Common/Log/Logger.cs index b5df0f2..ee006f4 100644 --- a/src/N_m3u8DL-RE.Common/Log/Logger.cs +++ b/src/N_m3u8DL-RE.Common/Log/Logger.cs @@ -35,6 +35,8 @@ namespace N_m3u8DL_RE.Common.Log public static void InitLogFile() { + if (!IsWriteFile) return; + try { var logDir = Path.GetDirectoryName(Environment.ProcessPath) + "/Logs"; @@ -195,5 +197,33 @@ namespace N_m3u8DL_RE.Common.Log } ErrorMarkUp(data); } + + /// + /// This thing will only write to the log file. + /// + /// + /// + public static void Extra(string data, params object[] ps) + { + if (IsWriteFile && File.Exists(LogFilePath)) + { + data = ReplaceVars(data, ps); + var plain = GetCurrTime() + " " + "EXTRA: " + data.RemoveMarkup(); + try + { + //进入写入 + LogWriteLock.EnterWriteLock(); + using (StreamWriter sw = File.AppendText(LogFilePath)) + { + sw.WriteLine(plain, Encoding.UTF8); + } + } + finally + { + //释放占用 + LogWriteLock.ExitWriteLock(); + } + } + } } } diff --git a/src/N_m3u8DL-RE.Common/Util/HTTPUtil.cs b/src/N_m3u8DL-RE.Common/Util/HTTPUtil.cs index b26d452..b0f0def 100644 --- a/src/N_m3u8DL-RE.Common/Util/HTTPUtil.cs +++ b/src/N_m3u8DL-RE.Common/Util/HTTPUtil.cs @@ -59,6 +59,7 @@ namespace N_m3u8DL_RE.Common.Util if (redirectedUrl != url) { + Logger.Extra($"Redirected => {redirectedUrl}"); return await DoGetAsync(redirectedUrl, headers); } } diff --git a/src/N_m3u8DL-RE/Directory.Build.props b/src/N_m3u8DL-RE/Directory.Build.props index c1dc76c..4819928 100644 --- a/src/N_m3u8DL-RE/Directory.Build.props +++ b/src/N_m3u8DL-RE/Directory.Build.props @@ -15,7 +15,7 @@ - + diff --git a/src/N_m3u8DL-RE/Downloader/SimpleDownloader.cs b/src/N_m3u8DL-RE/Downloader/SimpleDownloader.cs index 1fe73a2..3076aa8 100644 --- a/src/N_m3u8DL-RE/Downloader/SimpleDownloader.cs +++ b/src/N_m3u8DL-RE/Downloader/SimpleDownloader.cs @@ -130,6 +130,7 @@ namespace N_m3u8DL_RE.Downloader { Logger.DebugMarkUp($"[grey]{ex.Message.EscapeMarkup()} retryCount: {retryCount}[/]"); Logger.Debug(url + " " + ex.ToString()); + Logger.Extra($"Ah oh!{Environment.NewLine}RetryCount => {retryCount}{Environment.NewLine}Exception => {ex.Message}{Environment.NewLine}Url => {url}"); if (retryCount-- > 0) { await Task.Delay(1000); @@ -137,6 +138,7 @@ namespace N_m3u8DL_RE.Downloader } else { + Logger.Extra($"The retry attempts have been exhausted and the download of this segment has failed.{Environment.NewLine}Exception => {ex.Message}{Environment.NewLine}Url => {url}"); Logger.WarnMarkUp($"[grey]{ex.Message.EscapeMarkup()}[/]"); } //throw new Exception("download failed", ex); diff --git a/src/N_m3u8DL-RE/Program.cs b/src/N_m3u8DL-RE/Program.cs index a21a4bc..0dd4e24 100644 --- a/src/N_m3u8DL-RE/Program.cs +++ b/src/N_m3u8DL-RE/Program.cs @@ -151,6 +151,7 @@ namespace N_m3u8DL_RE foreach (var item in option.Headers) { headers[item.Key] = item.Value; + Logger.Extra($"User-Defined Header => {item.Key}: {item.Value}"); } var parserConfig = new ParserConfig()