Skip to content

Commit

Permalink
Tighten up log redaction.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tkael committed Mar 31, 2024
1 parent 441a8e9 commit 18481b3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 17 deletions.
40 changes: 24 additions & 16 deletions Utilities/Logging.cs
Original file line number Diff line number Diff line change
Expand Up @@ -97,30 +97,38 @@ private static string PrepareMessage ( string message, string memberName, string
return message;
}

private static Dictionary<string, object> PrepareData ( [CanBeNull] JToken data )
private static Dictionary<string, object> PrepareData ( [ CanBeNull ] JToken data )
{
if ( data == null ) { return null; }
if ( data.Type == JTokenType.String && !JsonRegex.IsMatch( data.ToString() ) )
{
return WrapData( "message", Redaction.RedactEnvironmentVariables( data.ToString() ) );
}
else

if ( data.Type == JTokenType.String )
{
try
if ( JsonRegex.IsMatch( data.ToString() ) )
{
data = Redaction.RedactEnvironmentVariables( data );
data = Redaction.RedactPersonalProperties( data );
if ( data is JObject )
{
return data.ToObject<Dictionary<string, object>>();
}
return WrapData( "data", data );
var jToken = JToken.Parse( data.ToString() );
data = jToken;
}
catch ( ObjectDisposedException )
else
{
return null;
return WrapData( "message", Redaction.RedactEnvironmentVariables( data.ToString() ) );
}
}

try
{
data = Redaction.RedactEnvironmentVariables( data );
data = Redaction.RedactPersonalProperties( data );
if ( data is JObject )
{
return data.ToObject<Dictionary<string, object>>();
}

return WrapData( "data", data );
}
catch ( ObjectDisposedException )
{
return null;
}
}

private static Dictionary<string, object> WrapData ( string key, object data )
Expand Down
3 changes: 2 additions & 1 deletion Utilities/Redaction.cs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,8 @@ public static JToken RedactEnvironmentVariables ( JToken data )
{
RedactEnvironmentVariables( data.ToString() );
}
else if ( data is JObject objectData )

if ( data is JObject objectData )
{
objectData.Descendants()
.OfType<JProperty>()
Expand Down

0 comments on commit 18481b3

Please sign in to comment.