Maybe you can use a tooltip with CurrentValue? For example, here's a random graphics object:
g = Graphics[{
Thickness[.1],
Green,
{
Circle[{0,0}],
Red,
Line[{{0,0},{1,1}}],
{
Blue,
AbsoluteThickness[1],
Polygon[{{0,1},{1,0},{1,1}}]
}
}
}]

Replace every Line, Polygon and Circle object with a tooltip specifying the thickness and color:
g /. l:_Line|_Polygon|_Circle -> Tooltip[
l,
<|"Thickness"->Dynamic@CurrentValue["Thickness"], "Color"->Dynamic@CurrentValue["Color"]|>
]
After the replacement, each graphics primitive now has a tooltip with an association giving the thickness and color being used.
Addendum
If you want the information non-interactively, you can convert the dynamics to literals. Here is a function that does this:
showCurrentValues[g_Graphics] := Module[{nb},
Internal`WithLocalSettings[
nb = CreateDocument[
ExpressionCell[
ReplaceAll[
g,
p_Line | p_Circle | p_Polygon :> Tooltip[
p,
Dynamic @ <|
"EdgeThickness" -> CurrentValue[EdgeThickness],
"Thickness" -> CurrentValue[Thickness]
|>
]
],
"Input"
],
Visible->False
];
FrontEndExecute @ FrontEnd`NotebookDynamicToLiteral @ nb,
First @ NotebookImport[nb,"Input"->"Expression"]//InputForm,
NotebookClose[nb]
]
]
For your example in the comments:
showCurrentValues @ Graphics[{
Thickness[0.01],
EdgeForm[Thickness[0.02]],
Polygon[{{0, 1}, {1, 0}, {1, 1}}]
}]
Graphics[{Thickness[0.01], EdgeForm[Thickness[0.02]], Tooltip[Polygon[{{0, 1}, {1, 0}, {1, 1}}],
<|"EdgeThickness" -> 0.02, "Thickness" -> 0.01|>]}]
Polygondefined as{Thickness[.1], EdgeForm[Thickness[.2]], Polygon[{{0, 1}, {1, 0}, {1, 1}}]}the tooltip showsThickness[.1], while actually it isEdgeForm[Thickness[.2]]. Is it possible to access thickness specified viaEdgeFormtoo? – Alexey Popkov Nov 06 '19 at 06:06