summaryrefslogtreecommitdiffstats
path: root/core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java')
-rw-r--r--core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java100
1 files changed, 100 insertions, 0 deletions
diff --git a/core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java b/core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java
new file mode 100644
index 0000000..33b7050
--- /dev/null
+++ b/core/src/main/java/org/onap/aaf/cadi/SLF4JAccess.java
@@ -0,0 +1,100 @@
+/*******************************************************************************
+ * ============LICENSE_START====================================================
+ * * org.onap.aaf
+ * * ===========================================================================
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * * ===========================================================================
+ * * Licensed under the Apache License, Version 2.0 (the "License");
+ * * you may not use this file except in compliance with the License.
+ * * You may obtain a copy of the License at
+ * *
+ * * http://www.apache.org/licenses/LICENSE-2.0
+ * *
+ * * Unless required by applicable law or agreed to in writing, software
+ * * distributed under the License is distributed on an "AS IS" BASIS,
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * * See the License for the specific language governing permissions and
+ * * limitations under the License.
+ * * ============LICENSE_END====================================================
+ * *
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ * *
+ ******************************************************************************/
+package org.onap.aaf.cadi;
+
+import java.util.Properties;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SLF4JAccess extends PropAccess {
+ private static final Logger slf4j = LoggerFactory.getLogger("AAF");
+
+ public SLF4JAccess(final Properties initial) throws CadiException {
+ super(initial);
+ }
+
+ public void log(Level level, Object... elements) {
+ switch(level) {
+ case AUDIT:
+ slf4j.info(msg(elements).toString());
+ break;
+ case DEBUG:
+ slf4j.debug(msg(elements).toString());
+ break;
+ case ERROR:
+ slf4j.error(msg(elements).toString());
+ break;
+ case INFO:
+ slf4j.info(msg(elements).toString());
+ break;
+ case INIT:
+ slf4j.info(msg(elements).toString());
+ break;
+ case WARN:
+ slf4j.warn(msg(elements).toString());
+ break;
+ default:
+ slf4j.info(msg(elements).toString());
+ break;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see com.att.cadi.Access#willLog(com.att.cadi.Access.Level)
+ */
+ @Override
+ public boolean willLog(Level level) {
+ switch(level) {
+ case DEBUG:
+ return slf4j.isDebugEnabled();
+ case ERROR:
+ return slf4j.isErrorEnabled();
+ case WARN:
+ return slf4j.isWarnEnabled();
+// case INFO:
+// case INIT:
+// case AUDIT:
+ default:
+ return slf4j.isInfoEnabled();
+ }
+ }
+
+ private StringBuilder msg(Object ... elements) {
+ StringBuilder sb = new StringBuilder();
+ boolean first = true;
+ for(Object o : elements) {
+ if(first) first = false;
+ else {
+ sb.append(' ');
+ }
+ sb.append(o.toString());
+ }
+ return sb;
+ }
+
+ public void log(Exception e, Object... elements) {
+ slf4j.error(msg(elements).toString(),e);
+ }
+
+}