From 88aee14975985d17660e6c5070af25e48fbc95d8 Mon Sep 17 00:00:00 2001 From: dcx25 <17374954+dcx25@user.noreply.gitee.com> Date: Sun, 2 Aug 2026 11:14:33 +0800 Subject: [PATCH 1/2] feat: complete basic functions --- docs/01-basic/report.md | 45 +++++++++++++++++++++++ src/LogParser/Models/LogEntries.cs | 4 +- src/LogParser/Parser/LineParser.cs | 43 ++++++++++++++++++---- src/LogParser/Visitors/KeyValueVisitor.cs | 23 +++++++++++- 4 files changed, 104 insertions(+), 11 deletions(-) create mode 100644 docs/01-basic/report.md diff --git a/docs/01-basic/report.md b/docs/01-basic/report.md new file mode 100644 index 0000000..21b9dfe --- /dev/null +++ b/docs/01-basic/report.md @@ -0,0 +1,45 @@ +# 问答题报告 + +### (Q1.1) + +在给出的代码框架 `Parser` 中: + +* 哪条语句或哪几条语句将日志按逗号进行分割?代码中,我们是如何指定每一行的第几个字段代表何种意义的? +> using var csv = new CsvReader(logFile, config);配合循环使用的csv.GetRecords(); +>在LogRecordMap中一一指定对应 + +* 在对日志中 JSON 格式的 `message` 字段进行读取时,我们是在哪个方法内用哪几条语句判断这一行日志的种类(Call / Request / Internal)的? +> LineParser 类的 ParseLine 方法,if(root.TryGetProperty("event", out var eventElement))语句,再用swith判断 + +* 在确定了日志种类后,我们是调用了哪个库方法对 JSON 进行解析的? +> System.Text.Json 库中的 JsonSerializer.Deserialize(...) 方法 + +* 进一步,我们的框架代码是如何防止日志中有字段缺失的?(例如所给的 Call 日志的 `message` 中缺失 `request_id` 字段) +> 在每个属性前面都强制加上了 [property: JsonRequired] 特性标签 + +* 更进一步,日志中的 JSON 的键是 `abc-def` 命名法(称为烤串命名法),而我们的解析结果却是放在 `AbcDef` 命名法(称为大驼峰命名法)的属性里,我们的框架代码中是如何告诉 JSON 解析器完成这一命名法转换的? +> 框架代码事先创建了一个名为 options 的配置变量,并在其中设置了 JsonNamingPolicy.KebabCaseLower 这一规则。在调用 JsonSerializer.Deserialize 提取数据时,代码将这个 options 作为参数交给了解析工具。 + +--- + +### (Q1.2) + +以一个 Call 事件的解析结果为例,当调用 `KeyValueVisitor` 的 `Dump` 方法后,都有哪些方法被调用?请补充完整如下的方法调用链(.NET 内置库无需写出): + ++ `Dictionary KeyValueVisitor.Dump(LogEntry entry)` ++ > TResult CallLogEntry.Accept(ILogEntryVisitor visitor) ++ > Dictionary KeyValueVisitor.Visit(CallLogEntry entry) + + +--- + +### (Q1.3) + +本次作业中,你是否使用了 AI?根据你的使用情况,在以下 (Q1.3.a) (Q1.3.b) 两个问题中选择一题作答: + + +#### (Q1.3.b) +如果使用了 AI,你给予 AI 的提示词是什么?你认为 AI 给出的解答、你完全凭借传统搜索引擎以及自己的能力能够写出的解答之间,AI 的解答比你好在哪?AI 又有哪些解答是存在问题的,或者至少是不如你自己的解答的?给出你的理由。 ++ > 提示词上,在完成代码部分,我只是把ai当做搜索引擎使用,去解释一些我看不懂的C#内置函数,然后再用自己能力补充代码,不过在q1.1中第1,4,5个问题,我确实完全不了解c#内置的库是什么,让ai先给出了解答再自己借助ai去了解; ++ > 代码中,ai的解答和我几乎相同;在问答题中,ai的解答比我更具有专业性,对整个项目的把握比我更透彻 ++ > 我让只让ai给出了q1.1中1,4,5题超出我能力范围之外的解答,这些解答核实没发现什么大问题,其他的ai解答和我大致相同,我暂时未发现ai明显不如自己解答的情况。 \ No newline at end of file diff --git a/src/LogParser/Models/LogEntries.cs b/src/LogParser/Models/LogEntries.cs index 69edbc0..e4e9bbc 100644 --- a/src/LogParser/Models/LogEntries.cs +++ b/src/LogParser/Models/LogEntries.cs @@ -54,7 +54,7 @@ public sealed record RequestLogEntry( { public override TResult Accept(ILogEntryVisitor visitor) { - throw new NotImplementedException("TODO: T1.2"); + return visitor.Visit(this); } } @@ -69,7 +69,7 @@ public sealed record InternalLogEntry( { public override TResult Accept(ILogEntryVisitor visitor) { - throw new NotImplementedException("TODO: T1.2"); + return visitor.Visit(this); } } diff --git a/src/LogParser/Parser/LineParser.cs b/src/LogParser/Parser/LineParser.cs index 0475f6b..c20338e 100644 --- a/src/LogParser/Parser/LineParser.cs +++ b/src/LogParser/Parser/LineParser.cs @@ -1,4 +1,5 @@ -using LogParser.Models; +using CsvHelper; +using LogParser.Models; using System.Text.Json; using System.Text.Json.Serialization; @@ -16,8 +17,8 @@ public static LogEntry ParseLine(LogRecord logRecord) return eventElement.GetString() switch { "call" => LineParser.CreateCall(logRecord), - "request" => throw new NotImplementedException("TODO: T1.2"), - "internal" => throw new NotImplementedException("TODO: T1.2"), + "request" => LineParser.CreateRequest(logRecord), + "internal" => LineParser.CreateInternal(logRecord), _ => throw new FormatException($"Unknown event type: {eventElement.GetString()} in log message: {logRecord.Message}") }; } @@ -50,12 +51,35 @@ private static LogEntry CreateCall(LogRecord logRecord) private static LogEntry CreateRequest(LogRecord logRecord) { - throw new NotImplementedException("TODO: T1.2"); + var requestMessage = JsonSerializer.Deserialize(logRecord.Message, options) + ?? throw new FormatException($"Failed to deserialize request message: {logRecord.Message}"); + return new RequestLogEntry( + LineNo: logRecord.LineNo, + Timestamp: DateTimeOffset.Parse(logRecord.Timestamp), + PodName: logRecord.PodName, + Severity: ParseSeverity(requestMessage.Severity), + RequestId: requestMessage.RequestId, + Method: requestMessage.Method, + Path:requestMessage.Path, + StatusCode:requestMessage.StatusCode + ); } private static LogEntry CreateInternal(LogRecord logRecord) { - throw new NotImplementedException("TODO: T1.2"); + var internalMessage = JsonSerializer.Deserialize(logRecord.Message, options) + ?? throw new FormatException($"Failed to deserialize internal message: {logRecord.Message}"); + var index=internalMessage.Exception.IndexOf(": "); + var exceptionMessage=internalMessage.Exception.Substring(index+2); + var exceptionName=internalMessage.Exception.Substring(0,index); + return new InternalLogEntry( + LineNo: logRecord.LineNo, + Timestamp: DateTimeOffset.Parse(logRecord.Timestamp), + PodName: logRecord.PodName, + Severity: ParseSeverity(internalMessage.Severity), + ExceptionMessage:exceptionMessage, + ExceptionName:exceptionName + ); } private static LogSeverity ParseSeverity(string severity) @@ -77,11 +101,16 @@ private record CallMessage( ); private record RequestMessage( - // TODO: T1.2 + [property: JsonRequired] string Severity, + [property: JsonRequired] string RequestId, + [property: JsonRequired] string Method, + [property: JsonRequired] string Path, + [property: JsonRequired] int StatusCode ); private record InternalMessage( - // TODO: T1.2 + [property: JsonRequired] string Severity, + [property: JsonRequired] string Exception ); } } diff --git a/src/LogParser/Visitors/KeyValueVisitor.cs b/src/LogParser/Visitors/KeyValueVisitor.cs index e5ceba2..c0ae12e 100644 --- a/src/LogParser/Visitors/KeyValueVisitor.cs +++ b/src/LogParser/Visitors/KeyValueVisitor.cs @@ -26,12 +26,31 @@ public Dictionary Visit(CallLogEntry entry) public Dictionary Visit(RequestLogEntry entry) { - throw new NotImplementedException("TODO: T1.3"); + return new Dictionary + { + ["LineNo"] = entry.LineNo.ToString(), + ["Timestamp"] = entry.Timestamp.ToString("O"), + ["PodName"] = entry.PodName, + ["Severity"] = entry.Severity.ToString(), + ["EventType"] = entry.EventType.ToString(), + ["RequestId"] = entry.RequestId, + ["Method"] = entry.Method, + ["Path"] = entry.Path, + ["StatusCode"] = entry.StatusCode.ToString(), + }; } public Dictionary Visit(InternalLogEntry entry) { - throw new NotImplementedException("TODO: T1.3"); + return new Dictionary{ + ["LineNo"] = entry.LineNo.ToString(), + ["Timestamp"] = entry.Timestamp.ToString("O"), + ["PodName"] = entry.PodName, + ["Severity"] = entry.Severity.ToString(), + ["EventType"] = entry.EventType.ToString(), + ["ExceptionName"] = entry.ExceptionName, + ["ExceptionMessage"] = entry.ExceptionMessage, + }; } } } From c2773e92f071d117dd89e23de02e5f9201182140 Mon Sep 17 00:00:00 2001 From: dcx25 <17374954+dcx25@user.noreply.gitee.com> Date: Thu, 6 Aug 2026 16:12:15 +0800 Subject: [PATCH 2/2] feat(multithreading): finish WorkQueue, LogFileAnalyzer, LocalCli and report --- docs/02-multithreading/image-1.png | Bin 0 -> 123155 bytes docs/02-multithreading/image.png | Bin 0 -> 110116 bytes docs/02-multithreading/report.md | 57 +++++++++ src/LocalCli/LocalCli.csproj | 9 ++ src/LocalCli/Program.cs | 140 ++++++++++++++++++++++- src/LogAnalyzer/LogFileAnalyzer.cs | 52 ++++++++- src/LogAnalyzer/WorkQueue.cs | 28 ++++- src/LogAnalyzerRpc/LogAnalyzerRpc.csproj | 12 +- 8 files changed, 280 insertions(+), 18 deletions(-) create mode 100644 docs/02-multithreading/image-1.png create mode 100644 docs/02-multithreading/image.png create mode 100644 docs/02-multithreading/report.md diff --git a/docs/02-multithreading/image-1.png b/docs/02-multithreading/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5382b059cacad542ae591784ae69519678f59cf5 GIT binary patch literal 123155 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

Bvj0~0y8G4)lV(nu#d~d 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Ü*{KIjczmO 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 类中的共享变量有哪些?是通过什么保护其免于数据竞争(data race)呢?** + > 答:_items和_isCompleted;运用lock()形成互斥锁 + > + > + +* **`LogFileAnalyzer` 类中的共享变量有哪些?是通过什么保护其免于数据竞争呢?** + > 答:_currentDirectory,_isAnalyzing,_logFiles,_analysisResults;定义 _syncRoot作为互斥锁对象来保护 + > + > + > + +* **如果条件变量的判断条件使用了 `if` 判断而非 `while` 判断,当出现了虚假唤醒现象时(在类 UNIX 系统中,由于 UNIX 信号等机制,即使没有人调用过 `signal` 或 `broadcast`,处于 `wait` 当中的条件变量也可能被唤醒),会出现什么后果?结合无限仓库容量的生产者消费者问题简单叙述一下。** + > 答:这样的话会导致消费者在被异常唤醒时跳过if检查直接强行尝试从空仓库中取商品,,进而导致程序发生崩溃。 + > + > + > + +#### (Q2.2) 目录扫描逻辑 + +* **在给出的代码框架 `LogFileAnalyzer` 中,那一段代码扫描了给定的目录中的全部 `.log` 后缀的日志文件?假使给定的需求是不但要扫描给定目录中的日志文件,还要递归地获取给定的目录的全部子目录、子子目录……内的日志文件,应当如何做(简要回答即可)?**[cite: 6] + > 答:ChangeDirectory 方法中Directory.EnumerateFiles(directoryPath, "*.log", SearchOption.TopDirectoryOnly); + > SearchOption.TopDirectoryOnly 修改为 SearchOption.AllDirectories + > + > + +#### (Q2.3) AI 使用情况调查 + +*本次作业中,你是否使用了 AI?根据你的使用情况,在以下 (Q2.3.a) (Q2.3.b) 两个问题中选择一题作答即可:* + +* **(Q2.3.b) 如果使用了 AI,你给予 AI 的提示词是什么?你对 AI 的使用是询问 AI 一些接口的用法或是在某处的写法,还是让 AI 帮你写一部分作业代码,又或是让 AI 给你讲解代码框架?AI 的解答是否出现过错误(如果有,是哪些)?你认为本节的难度是偏低、适中,还是偏高?** + > 答:我给予ai提示词更多是搜索性质与提示讲解性质,并没有让ai直接给出过代码。因为本节难度我认为对于之前从未接触过c#的人来说难度比较高,c#的一堆内置函数单凭自己很难看懂,更何况有时候会一下子牵扯到多个代码文件,没有ai的辅助梳理很容易忘记要干什么。 + > + > + > \ No newline at end of file diff --git a/src/LocalCli/LocalCli.csproj b/src/LocalCli/LocalCli.csproj index 0ad60d9..ea7e02f 100644 --- a/src/LocalCli/LocalCli.csproj +++ b/src/LocalCli/LocalCli.csproj @@ -18,4 +18,13 @@ + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + diff --git a/src/LocalCli/Program.cs b/src/LocalCli/Program.cs index 17b30db..03cec08 100644 --- a/src/LocalCli/Program.cs +++ b/src/LocalCli/Program.cs @@ -1,4 +1,5 @@ -using LogAnalyzer; +using System.Net; +using LogAnalyzer; using LogParser.Visitors; namespace LocalCli @@ -112,22 +113,149 @@ 6. Exit. private static void ShowLogFiles(LogFileAnalyzer analyzer) { - throw new NotImplementedException("T2.3"); + var files=analyzer.GetLogFiles(); + if (files.Count == 0) + { + Console.WriteLine("No log files found in the current directory."); + return; + } + int index=1; + foreach (var file in files) + { + Console.WriteLine($"{index}.{file}"); + index++; + } } private static void AnalyzeFiles(LogFileAnalyzer analyzer) - { - throw new NotImplementedException("T2.3"); + { while(true){ + Console.WriteLine("Please input log files to analyze (separated by comma):"); + var str=Console.ReadLine(); + if (str is null) + { + return; + } + var selectedFiles = str.Split(',', StringSplitOptions.RemoveEmptyEntries).Select(f => f.Trim()).ToArray(); + if (selectedFiles.Length == 0) + { + Console.WriteLine("No files specified, please try again."); + continue; + } + int degree = 0; + while (true) + { + Console.WriteLine("Please input degree of parallelism:"); + var degreeStr = Console.ReadLine(); + if (degreeStr is null) return; + if (!int.TryParse(degreeStr, out degree)) + { + Console.WriteLine("Invalid number, please try again."); + continue; + } + break; + } + try + { + analyzer.AnalyzeFiles(degree,selectedFiles); + break; + } + catch (InvalidOperationException) + { + Console.WriteLine("Analysis is already running, please wait."); + break; + } + catch(ArgumentException) + { + Console.WriteLine("Invalid files, please try again."); + continue; + } + } + } + private static void AnalyzeAll(LogFileAnalyzer analyzer) { - throw new NotImplementedException("T2.3"); + while (true) + { + Console.WriteLine("Please input degree of parallelism:"); + var degreeStr = Console.ReadLine(); + if (degreeStr is null) + { + return; + } + if (!int.TryParse(degreeStr, out int degree)) + { + Console.WriteLine("Invalid number, please try again."); + continue; + } + try + { + analyzer.AnalyzeAll(degree); + break; + } + catch (InvalidOperationException) + { + Console.WriteLine("Analysis is already running, please wait."); + break; + } + catch (ArgumentException) + { + Console.WriteLine("Invalid degree of parallelism, please try again."); + continue; + } + } } private static void GetAnalysisResult(LogFileAnalyzer analyzer) { - throw new NotImplementedException("T2.3"); + while (true) + { + Console.WriteLine("Please input log file name:"); + var fileName = Console.ReadLine(); + if (fileName is null) + { + return; + } + fileName = fileName.Trim(); + if (fileName.Length == 0) + { + Console.WriteLine("Invalid file name, please try again."); + continue; + } + if (!analyzer.TryGetAnalysisResult(fileName, out var result)) + { + Console.WriteLine("File not found, please try again."); + continue; + } + if (result is null) + { + Console.WriteLine("File not found, please try again."); + continue; + } + switch (result.State) + { + case AnalysisState.NotAnalyzed: + Console.WriteLine("Not analyzed."); + break; + case AnalysisState.Failed: + Console.WriteLine($"Failed: {result.ErrorMessage}"); + break; + case AnalysisState.Succeeded: + var visitor = new KeyValueVisitor(); + foreach (var entry in result.Entries) + { + var logDict = visitor.Dump(entry); + foreach (var kvp in logDict) + { + Console.WriteLine($"{kvp.Key}: {kvp.Value}"); + } + } + break; + + } + break; + } } } } diff --git a/src/LogAnalyzer/LogFileAnalyzer.cs b/src/LogAnalyzer/LogFileAnalyzer.cs index c3e7691..7daf113 100644 --- a/src/LogAnalyzer/LogFileAnalyzer.cs +++ b/src/LogAnalyzer/LogFileAnalyzer.cs @@ -142,6 +142,7 @@ public void AnalyzeFiles(int degreeOfParallelism, IEnumerable fileNames) * Set _isAnalyzing */ // TODO: T2.2 + _isAnalyzing = true; } try @@ -155,6 +156,10 @@ public void AnalyzeFiles(int degreeOfParallelism, IEnumerable fileNames) * Remember to lock _syncRoot to prevent data race */ // TODO: T2.2 + lock (_syncRoot) + { + _isAnalyzing = false; + } } } @@ -169,7 +174,14 @@ private void RunWorkers(int degreeOfParallelism, IReadOnlyList fileLis * Filter unparsed files. * If there is an unknown file, throw System.InvalidOperationException. */ - throw new NotImplementedException("TODO: T2.2"); + if (!_analysisResults.ContainsKey(file.Name)) + { + throw new InvalidOperationException($"Unknown file: {file.Name}"); + } + if (_analysisResults[file.Name].State == AnalysisState.NotAnalyzed) + { + logFilesToParse.Add(file); + } } } @@ -184,7 +196,11 @@ private void RunWorkers(int degreeOfParallelism, IReadOnlyList fileLis * Enqueue log files */ // TODO: T2.2 - + foreach (var file in logFilesToParse) + { + queue.Enqueue(file); + } + queue.CompleteAdding(); degreeOfParallelism = Math.Max(Math.Min(degreeOfParallelism, logFilesToParse.Count), 1); var workers = new Thread[degreeOfParallelism]; for (int i = 0; i < degreeOfParallelism; i++) @@ -195,12 +211,19 @@ private void RunWorkers(int degreeOfParallelism, IReadOnlyList fileLis * Create and start threads to run `WorkerMain` */ // TODO: T2.2 + workers[i] = new Thread(() => WorkerMain(workerId, queue)); + workers[i].Name = threadName; + workers[i].Start(); } /* * Wait for (join) all threads to end */ // TODO: T2.2 + foreach (var worker in workers) + { + worker.Join(); + } } private void WorkerMain(int workerId, WorkQueue queue) @@ -213,19 +236,38 @@ private void WorkerMain(int workerId, WorkQueue queue) try { // Parse file - throw new NotImplementedException("TODO: T2.2"); + using var reader = new StreamReader(file.FullName); + var entries = parser.Parse(reader); + result = new AnalysisResult( + FileName: file.Name, + FullName: file.FullName, + State: AnalysisState.Succeeded, + Entries: entries.ToList(), + ErrorMessage: null, + WorkerId: workerId + ); } catch (Exception ex) { // Save exception message to result - throw new NotImplementedException("TODO: T2.2"); + result = new AnalysisResult( + FileName: file.Name, + FullName: file.FullName, + State: AnalysisState.Failed, + Entries: Array.Empty(), + ErrorMessage: ex.Message, + WorkerId: workerId + ); } /* * Save parse result. * [!Important] Remember to lock _syncRoot to prevent data race. */ - throw new NotImplementedException("TODO: T2.2"); + lock (_syncRoot) + { + _analysisResults[file.Name] = result; + } } } } diff --git a/src/LogAnalyzer/WorkQueue.cs b/src/LogAnalyzer/WorkQueue.cs index 23055a5..d1f6112 100644 --- a/src/LogAnalyzer/WorkQueue.cs +++ b/src/LogAnalyzer/WorkQueue.cs @@ -20,17 +20,39 @@ public bool IsCompleted public void Enqueue(T item) { - throw new NotImplementedException("TODO: T2.1"); + lock (_items) + { + _items.Enqueue(item); + Monitor.Pulse(_items); + } + } public bool TryDequeue([NotNullWhen(true)] out T? item) { - throw new NotImplementedException("TODO: T2.1"); + lock (_items) + { + while (_items.Count == 0) + { + if (_isCompleted == true) + { + item=default; + return false; + } + Monitor.Wait(_items); + } + item=_items.Dequeue(); + return true; + } } public void CompleteAdding() { - throw new NotImplementedException("TODO: T2.1"); + lock (_items) + { + _isCompleted=true; + Monitor.PulseAll(_items); + } } } } diff --git a/src/LogAnalyzerRpc/LogAnalyzerRpc.csproj b/src/LogAnalyzerRpc/LogAnalyzerRpc.csproj index 0d13f38..2aa0d21 100644 --- a/src/LogAnalyzerRpc/LogAnalyzerRpc.csproj +++ b/src/LogAnalyzerRpc/LogAnalyzerRpc.csproj @@ -6,10 +6,14 @@ enable - - - - + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all +