@@ -20,6 +20,7 @@ const defaultTeamCitySeverity = "ERROR"
2020// TeamCity prints issues in the TeamCity format.
2121// https://www.jetbrains.com/help/teamcity/service-messages.html
2222type TeamCity struct {
23+ log logutils.Log
2324 w io.Writer
2425 escaper * strings.Replacer
2526 sanitizer severitySanitizer
@@ -28,7 +29,8 @@ type TeamCity struct {
2829// NewTeamCity output format outputs issues according to TeamCity service message format.
2930func NewTeamCity (log logutils.Log , w io.Writer ) * TeamCity {
3031 return & TeamCity {
31- w : w ,
32+ log : log .Child (logutils .DebugKeyTeamCityPrinter ),
33+ w : w ,
3234 // https://www.jetbrains.com/help/teamcity/service-messages.html#Escaped+Values
3335 escaper : strings .NewReplacer (
3436 "'" , "|'" ,
@@ -39,7 +41,6 @@ func NewTeamCity(log logutils.Log, w io.Writer) *TeamCity {
3941 "]" , "|]" ,
4042 ),
4143 sanitizer : severitySanitizer {
42- log : log .Child (logutils .DebugKeyTeamCityPrinter ),
4344 // https://www.jetbrains.com/help/teamcity/service-messages.html#Inspection+Instance
4445 allowedSeverities : []string {"INFO" , defaultTeamCitySeverity , "WARNING" , "WEAK WARNING" },
4546 defaultSeverity : defaultTeamCitySeverity ,
@@ -75,7 +76,7 @@ func (p *TeamCity) Print(issues []result.Issue) error {
7576 message : issue .Text ,
7677 file : issue .FilePath (),
7778 line : issue .Line (),
78- severity : p .sanitizer .Clean (strings .ToUpper (issue .Severity )),
79+ severity : p .sanitizer .Sanitize (strings .ToUpper (issue .Severity )),
7980 }
8081
8182 _ , err := instance .Print (p .w , p .escaper )
@@ -84,6 +85,11 @@ func (p *TeamCity) Print(issues []result.Issue) error {
8485 }
8586 }
8687
88+ err := p .sanitizer .Err ()
89+ if err != nil {
90+ p .log .Infof ("%v" , err )
91+ }
92+
8793 return nil
8894}
8995
0 commit comments