1 package org.apache.maven.plugins.surefire.report;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.plugin.logging.Log;
23 import org.apache.maven.plugin.surefire.log.api.ConsoleLogger;
24 import org.apache.maven.shared.utils.logging.MessageBuilder;
25
26 import static java.lang.Integer.numberOfLeadingZeros;
27 import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
28
29
30
31
32
33
34
35
36 final class PluginConsoleLogger
37 implements ConsoleLogger
38 {
39 private final Log mojoLogger;
40
41 PluginConsoleLogger( Log mojoLogger )
42 {
43 this.mojoLogger = mojoLogger;
44 }
45
46 @Override
47 public boolean isDebugEnabled()
48 {
49 return mojoLogger.isDebugEnabled();
50 }
51
52 @Override
53 public void debug( String message )
54 {
55 mojoLogger.debug( createAnsiBuilder( message ).a( message ).toString() );
56 }
57
58 public void debug( CharSequence content, Throwable error )
59 {
60 mojoLogger.debug( content, error );
61 }
62
63 @Override
64 public boolean isInfoEnabled()
65 {
66 return mojoLogger.isInfoEnabled();
67 }
68
69 @Override
70 public void info( String message )
71 {
72 mojoLogger.info( createAnsiBuilder( message ).a( message ).toString() );
73 }
74
75 @Override
76 public boolean isWarnEnabled()
77 {
78 return mojoLogger.isWarnEnabled();
79 }
80
81 @Override
82 public void warning( String message )
83 {
84 mojoLogger.warn( createAnsiBuilder( message ).warning( message ).toString() );
85 }
86
87 public void warn( CharSequence content, Throwable error )
88 {
89 mojoLogger.warn( content, error );
90 }
91
92 @Override
93 public boolean isErrorEnabled()
94 {
95 return mojoLogger.isErrorEnabled();
96 }
97
98 @Override
99 public void error( String message )
100 {
101 mojoLogger.error( createAnsiBuilder( message ).failure( message ).toString() );
102 }
103
104 @Override
105 public void error( String message, Throwable t )
106 {
107 mojoLogger.error( message, t );
108 }
109
110 @Override
111 public void error( Throwable t )
112 {
113 mojoLogger.error( t );
114 }
115
116 private static MessageBuilder createAnsiBuilder( CharSequence message )
117 {
118 return buffer( bufferSize( message ) );
119 }
120
121 private static int bufferSize( CharSequence message )
122 {
123 return 32 - numberOfLeadingZeros( message.length() );
124 }
125 }