diff --git a/Framework/KubernetesWorkflow/CrashWatcher.cs b/Framework/KubernetesWorkflow/CrashWatcher.cs index 7f38cfb..1692d92 100644 --- a/Framework/KubernetesWorkflow/CrashWatcher.cs +++ b/Framework/KubernetesWorkflow/CrashWatcher.cs @@ -91,7 +91,7 @@ namespace KubernetesWorkflow private void DownloadCrashedContainerLogs(Kubernetes client) { using var stream = client.ReadNamespacedPodLog(podName, k8sNamespace, recipeName, previous: true); - var handler = new WriteToFileLogHandler(log, "Crash detected for " + containerName); + var handler = new WriteToFileLogHandler(log, "Crash detected for " + containerName, containerName); handler.Log(stream); } } diff --git a/Framework/KubernetesWorkflow/K8sController.cs b/Framework/KubernetesWorkflow/K8sController.cs index e5fac7c..1c8374c 100644 --- a/Framework/KubernetesWorkflow/K8sController.cs +++ b/Framework/KubernetesWorkflow/K8sController.cs @@ -906,7 +906,7 @@ namespace KubernetesWorkflow var msg = $"Pod crash detected for deployment {deploymentName} (pod:{podName})"; log.Error(msg); - DownloadPodLog(container, new WriteToFileLogHandler(log, msg), tailLines: null, previous: true); + DownloadPodLog(container, new WriteToFileLogHandler(log, msg, deploymentName), tailLines: null, previous: true); throw new Exception(msg); } diff --git a/Framework/KubernetesWorkflow/LogHandler.cs b/Framework/KubernetesWorkflow/LogHandler.cs index f185ba1..5d3c07d 100644 --- a/Framework/KubernetesWorkflow/LogHandler.cs +++ b/Framework/KubernetesWorkflow/LogHandler.cs @@ -25,9 +25,9 @@ namespace KubernetesWorkflow public class WriteToFileLogHandler : LogHandler, ILogHandler { - public WriteToFileLogHandler(ILog sourceLog, string description) + public WriteToFileLogHandler(ILog sourceLog, string description, string addFileName) { - LogFile = sourceLog.CreateSubfile(); + LogFile = sourceLog.CreateSubfile(addFileName); var msg = $"{description} -->> {LogFile.FullFilename}"; sourceLog.Log(msg); diff --git a/Framework/KubernetesWorkflow/StartupWorkflow.cs b/Framework/KubernetesWorkflow/StartupWorkflow.cs index 529a48f..5c67d54 100644 --- a/Framework/KubernetesWorkflow/StartupWorkflow.cs +++ b/Framework/KubernetesWorkflow/StartupWorkflow.cs @@ -127,7 +127,7 @@ namespace KubernetesWorkflow { var msg = $"Downloading container log for '{container.Name}'"; log.Log(msg); - var logHandler = new WriteToFileLogHandler(log, msg); + var logHandler = new WriteToFileLogHandler(log, msg, container.Name); K8s(controller => { diff --git a/Framework/Logging/BaseLog.cs b/Framework/Logging/BaseLog.cs index afae122..72907db 100644 --- a/Framework/Logging/BaseLog.cs +++ b/Framework/Logging/BaseLog.cs @@ -8,7 +8,7 @@ namespace Logging void Debug(string message = "", int skipFrames = 0); void Error(string message); void AddStringReplace(string from, string to); - LogFile CreateSubfile(string ext = "log"); + LogFile CreateSubfile(string addName, string ext = "log"); } public abstract class BaseLog : ILog @@ -72,9 +72,13 @@ namespace Logging File.Delete(LogFile.FullFilename); } - public LogFile CreateSubfile(string ext = "log") + public LogFile CreateSubfile(string addName, string ext = "log") { - return new LogFile($"{GetFullName()}_{GetSubfileNumber()}", ext); + addName = addName + .Replace("<", "") + .Replace(">", ""); + + return new LogFile($"{GetFullName()}_{GetSubfileNumber()}_{addName}", ext); } protected string ApplyReplacements(string str) diff --git a/Framework/Logging/LogPrefixer.cs b/Framework/Logging/LogPrefixer.cs index 69ab105..6fe6033 100644 --- a/Framework/Logging/LogPrefixer.cs +++ b/Framework/Logging/LogPrefixer.cs @@ -18,9 +18,9 @@ public string Prefix { get; set; } = string.Empty; - public LogFile CreateSubfile(string ext = "log") + public LogFile CreateSubfile(string addName, string ext = "log") { - return backingLog.CreateSubfile(ext); + return backingLog.CreateSubfile(addName, ext); } public void Debug(string message = "", int skipFrames = 0) diff --git a/Framework/Logging/LogSplitter.cs b/Framework/Logging/LogSplitter.cs index 6d24d5b..563f581 100644 --- a/Framework/Logging/LogSplitter.cs +++ b/Framework/Logging/LogSplitter.cs @@ -14,9 +14,9 @@ OnAll(l => l.AddStringReplace(from, to)); } - public LogFile CreateSubfile(string ext = "log") + public LogFile CreateSubfile(string addName, string ext = "log") { - return targetLogs.First().CreateSubfile(ext); + return targetLogs.First().CreateSubfile(addName, ext); } public void Debug(string message = "", int skipFrames = 0) diff --git a/Tests/CodexContinuousTests/SingleTestRun.cs b/Tests/CodexContinuousTests/SingleTestRun.cs index 95d0466..e9afb31 100644 --- a/Tests/CodexContinuousTests/SingleTestRun.cs +++ b/Tests/CodexContinuousTests/SingleTestRun.cs @@ -130,7 +130,7 @@ namespace ContinuousTests var namespaceName = container.RunningPod.StartResult.Cluster.Configuration.KubernetesNamespace; var openingLine = $"{namespaceName} - {deploymentName} = {node.Container.Name} = {node.GetDebugInfo().Id}"; - elasticSearchLogDownloader.Download(fixtureLog.CreateSubfile(), node.Container, effectiveStart, + elasticSearchLogDownloader.Download(fixtureLog.CreateSubfile(node.GetName()), node.Container, effectiveStart, effectiveEnd, openingLine); } }