Update AAF Version 1.0.0
[aaf/cadi.git] / core / src / main / java / org / onap / aaf / cadi / SLF4JAccess.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * * \r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * * \r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package org.onap.aaf.cadi;\r
24 \r
25 import java.util.Properties;\r
26 \r
27 import org.slf4j.Logger;\r
28 import org.slf4j.LoggerFactory;\r
29 \r
30 public class SLF4JAccess extends PropAccess {\r
31         private static final Logger slf4j = LoggerFactory.getLogger("AAF");\r
32         \r
33         public SLF4JAccess(final Properties initial) throws CadiException {\r
34                 super(initial);\r
35         }\r
36 \r
37         public void log(Level level, Object... elements) {\r
38                 switch(level) {\r
39                         case AUDIT:\r
40                                 slf4j.info(msg(elements).toString());\r
41                                 break;\r
42                         case DEBUG:\r
43                                 slf4j.debug(msg(elements).toString());\r
44                                 break;\r
45                         case ERROR:\r
46                                 slf4j.error(msg(elements).toString());\r
47                                 break;\r
48                         case INFO:\r
49                                 slf4j.info(msg(elements).toString());\r
50                                 break;\r
51                         case INIT:\r
52                                 slf4j.info(msg(elements).toString());\r
53                                 break;\r
54                         case WARN:\r
55                                 slf4j.warn(msg(elements).toString());\r
56                                 break;\r
57                         default:\r
58                                 slf4j.info(msg(elements).toString());\r
59                                 break;\r
60                 }\r
61         }\r
62         \r
63         /* (non-Javadoc)\r
64          * @see com.att.cadi.Access#willLog(com.att.cadi.Access.Level)\r
65          */\r
66         @Override\r
67         public boolean willLog(Level level) {\r
68                 switch(level) {\r
69                         case DEBUG:\r
70                                 return slf4j.isDebugEnabled();\r
71                         case ERROR:\r
72                                 return slf4j.isErrorEnabled();\r
73                         case WARN:\r
74                                 return slf4j.isWarnEnabled();\r
75 //                      case INFO:\r
76 //                      case INIT:\r
77 //                      case AUDIT:\r
78                         default:\r
79                                 return slf4j.isInfoEnabled();\r
80                 }\r
81         }\r
82 \r
83         private StringBuilder msg(Object ... elements) {\r
84                 StringBuilder sb = new StringBuilder();\r
85                 boolean first = true;\r
86                 for(Object o : elements) {\r
87                         if(first) first = false;\r
88                         else {\r
89                                 sb.append(' ');\r
90                         }\r
91                         sb.append(o.toString());\r
92                 }\r
93                 return sb;\r
94         }\r
95 \r
96         public void log(Exception e, Object... elements) {\r
97                 slf4j.error(msg(elements).toString(),e);\r
98         }\r
99 \r
100 }\r