1 package org.apache.maven.cli.logging.impl;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.net.URL;
23 import java.util.Map;
24 import java.util.Set;
25
26 import org.apache.maven.cli.logging.BaseSlf4jConfiguration;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30
31
32
33
34
35
36 public class UnsupportedSlf4jBindingConfiguration
37 extends BaseSlf4jConfiguration
38 {
39 private final Logger logger = LoggerFactory.getLogger( UnsupportedSlf4jBindingConfiguration.class );
40
41 private String slf4jBinding;
42
43 private Map<URL, Set<Object>> supported;
44
45 public UnsupportedSlf4jBindingConfiguration( String slf4jBinding, Map<URL, Set<Object>> supported )
46 {
47 this.slf4jBinding = slf4jBinding;
48 this.supported = supported;
49 }
50
51 @Override
52 public void activate()
53 {
54 logger.warn( "The SLF4J binding actually used is not supported by Maven: {}", slf4jBinding );
55 logger.warn( "Maven supported bindings are:" );
56
57 String ls = System.getProperty( "line.separator" );
58
59 for ( Map.Entry<URL, Set<Object>> entry : supported.entrySet() )
60 {
61 StringBuilder sb = new StringBuilder();
62 sb.append( "(from " ).append( entry.getKey().toExternalForm() ).append( ')' );
63
64 for ( Object binding : entry.getValue() )
65 {
66 sb.append( ls ).append( "- " ).append( binding );
67 }
68
69 logger.warn( sb.toString() );
70 }
71 }
72 }