Adds log tag to each log file.

This commit is contained in:
benbierens 2023-07-18 11:04:14 +02:00
parent 87d346ee20
commit 07776dc6fb
No known key found for this signature in database
GPG Key ID: FE44815D96D0A1AA
3 changed files with 39 additions and 26 deletions

View File

@ -21,7 +21,11 @@ namespace Logging
{ {
get get
{ {
if (logFile == null) logFile = new LogFile(GetFullName(), "log"); if (logFile == null)
{
logFile = new LogFile(GetFullName(), "log");
WriteLogTag();
}
return logFile; return logFile;
} }
} }
@ -73,6 +77,14 @@ namespace Logging
return new LogFile($"{GetFullName()}_{GetSubfileNumber()}", ext); return new LogFile($"{GetFullName()}_{GetSubfileNumber()}", ext);
} }
private void WriteLogTag()
{
var runId = NameUtils.GetRunId();
var category = NameUtils.GetCategoryName();
var name = NameUtils.GetTestMethodName();
LogFile.WriteRaw($"{runId} {category} {name}");
}
private string ApplyReplacements(string str) private string ApplyReplacements(string str)
{ {
foreach (var replacement in replacements) foreach (var replacement in replacements)

View File

@ -26,6 +26,29 @@ namespace Logging
return className.Replace('.', '-'); return className.Replace('.', '-');
} }
public static string GetCategoryName()
{
var test = TestContext.CurrentContext.Test;
return test.ClassName!.Substring(0, test.ClassName.LastIndexOf('.'));
}
public static string GetTestId()
{
return GetEnvVar("TESTID");
}
public static string GetRunId()
{
return GetEnvVar("RUNID");
}
private static string GetEnvVar(string name)
{
var v = Environment.GetEnvironmentVariable(name);
if (string.IsNullOrEmpty(v)) return $"EnvVar'{name}'NotSet";
return v;
}
private static string FormatArguments(TestContext.TestAdapter test) private static string FormatArguments(TestContext.TestAdapter test)
{ {
if (test.Arguments == null || !test.Arguments.Any()) return ""; if (test.Arguments == null || !test.Arguments.Any()) return "";

View File

@ -21,37 +21,15 @@ namespace Logging
Write(new StatusLogJson Write(new StatusLogJson
{ {
time = DateTime.UtcNow.ToString("u"), time = DateTime.UtcNow.ToString("u"),
runid = GetRunId(), runid = NameUtils.GetRunId(),
status = resultStatus, status = resultStatus,
testid = GetTestId(), testid = NameUtils.GetTestId(),
codexid = codexId, codexid = codexId,
fixturename = fixtureName, fixturename = fixtureName,
testname = GetTestName() testname = NameUtils.GetTestMethodName()
}); });
} }
private string GetTestName()
{
return NameUtils.GetTestMethodName();
}
private string GetTestId()
{
return GetEnvVar("TESTID");
}
private string GetRunId()
{
return GetEnvVar("RUNID");
}
private string GetEnvVar(string name)
{
var v = Environment.GetEnvironmentVariable(name);
if (string.IsNullOrEmpty(v)) return $"'{name}' not set!";
return v;
}
private void Write(StatusLogJson json) private void Write(StatusLogJson json)
{ {
try try