Skip to content

Commit 9515bc3

Browse files
committed
minor impevements
1 parent 4f8d583 commit 9515bc3

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

src/.run/cli.run.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
<component name="ProjectRunConfigurationManager">
1+
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="cli" type="DotNetProject" factoryName=".NET Project">
33
<option name="EXE_PATH" value="$PROJECT_DIR$/GitVersion.App/bin/Debug/net8.0/gitversion.exe" />
4-
<option name="PROGRAM_PARAMETERS" value="" />
4+
<option name="PROGRAM_PARAMETERS" value="-nocache -l console" />
55
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/GitVersion.App/bin/Debug/net8.0" />
66
<option name="PASS_PARENT_ENVS" value="1" />
77
<option name="USE_EXTERNAL_CONSOLE" value="0" />

src/GitVersion.Core/Logging/Log.cs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ internal sealed class Log(params ILogAppender[] appenders) : ILog
99
private IEnumerable<ILogAppender> appenders = appenders;
1010
private readonly Regex obscurePasswordRegex = new("(https?://)(.+)(:.+@)", RegexOptions.Compiled);
1111
private readonly StringBuilder sb = new();
12-
private string indent = string.Empty;
12+
private string currentIndentation = string.Empty;
13+
private const string Indentation = " ";
1314

1415
public Log() : this([])
1516
{
@@ -36,27 +37,30 @@ public void Write(Verbosity verbosity, LogLevel level, string format, params obj
3637

3738
public IDisposable IndentLog(string operationDescription)
3839
{
39-
var start = DateTime.Now;
40+
var start = TimeProvider.System.GetTimestamp();
4041
Write(Verbosity.Normal, LogLevel.Info, $"-< Begin: {operationDescription} >-");
41-
this.indent += " ";
42+
this.currentIndentation += Indentation;
4243

4344
return Disposable.Create(() =>
4445
{
45-
var length = this.indent.Length - 2;
46-
this.indent = length > 0 ? this.indent[..length] : "";
47-
Write(Verbosity.Normal, LogLevel.Info, string.Format(CultureInfo.InvariantCulture, "-< End: {0} (Took: {1:N}ms) >-", operationDescription, DateTime.Now.Subtract(start).TotalMilliseconds));
46+
var length = this.currentIndentation.Length - Indentation.Length;
47+
this.currentIndentation = length > 0 ? this.currentIndentation[..length] : "";
48+
var end = TimeProvider.System.GetTimestamp();
49+
var duration = TimeProvider.System.GetElapsedTime(start, end).TotalMilliseconds;
50+
Write(Verbosity.Normal, LogLevel.Info, string.Format(CultureInfo.InvariantCulture, "-< End: {0} (Took: {1:N}ms) >-", operationDescription, duration));
4851
});
4952
}
5053

5154
public void Separator() => Write(Verbosity.Normal, LogLevel.Info, "-------------------------------------------------------");
5255

53-
public void AddLogAppender(ILogAppender logAppender) => this.appenders = this.appenders.Concat(new[] { logAppender });
56+
public void AddLogAppender(ILogAppender logAppender) => this.appenders = this.appenders.Concat([logAppender]);
5457

5558
public override string ToString() => this.sb.ToString();
5659

5760
private string FormatMessage(string message, string level)
5861
{
5962
var obscuredMessage = this.obscurePasswordRegex.Replace(message, "$1$2:*******@");
60-
return string.Format(CultureInfo.InvariantCulture, "{0}{1} [{2:MM/dd/yy H:mm:ss:ff}] {3}", this.indent, level, DateTime.Now, obscuredMessage);
63+
var timestamp = $"{DateTime.Now:yy-MM-dd H:mm:ss:ff}";
64+
return string.Format(CultureInfo.InvariantCulture, "{0}{1} [{2}] {3}", this.currentIndentation, level, timestamp, obscuredMessage);
6165
}
6266
}

0 commit comments

Comments
 (0)