2 * ================================================================================
3 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 * ============LICENSE_END=========================================================
20 package org.onap.dcae.utils.eelf.logger.api.log;
23 import org.onap.dcae.utils.eelf.logger.api.info.LogLevelCategory;
24 import org.onap.dcae.utils.eelf.logger.api.spec.MetricLogSpec;
25 import org.onap.dcae.utils.eelf.logger.api.spec.OptionalLogSpec;
28 * Metric Log captures all log levels supported by metric specifications
30 * @author Rajiv Singla
32 public interface MetricLog {
35 * Logs metric message with provided {@link LogLevelCategory}
37 * @param logLevelCategory log level category
38 * @param message log message
39 * @param metricLogSpec metric log spec
40 * @param optionalLogSpec optional log spec
41 * @param args argument values for log message interpolation
43 void log(LogLevelCategory logLevelCategory, String message, MetricLogSpec metricLogSpec,
44 OptionalLogSpec optionalLogSpec, String... args);
47 * Logs metric message with provided {@link LogLevelCategory} and with default {@link OptionalLogSpec}
49 * @param logLevelCategory log level category
50 * @param message log message
51 * @param metricLogSpec metric log spec
52 * @param args argument values for log message interpolation
54 void log(LogLevelCategory logLevelCategory, String message, MetricLogSpec metricLogSpec, String... args);
58 * Logs metric message with provided INFO {@link LogLevelCategory}
60 * @param message log message
61 * @param metricLogSpec metric log spec
62 * @param args argument values for log message interpolation
64 void info(String message, MetricLogSpec metricLogSpec, OptionalLogSpec optionalLogSpec, String... args);
67 * Logs metric message with provided INFO {@link LogLevelCategory} and with default {@link OptionalLogSpec}
69 * @param message log message
70 * @param metricLogSpec metric log spec
71 * @param args argument values for log message interpolation
73 void info(String message, MetricLogSpec metricLogSpec, String... args);
77 * Logs metric message with provided WARN {@link LogLevelCategory}
79 * @param message log message
80 * @param metricLogSpec metric log spec
81 * @param args argument values for log message interpolation
83 void warn(String message, MetricLogSpec metricLogSpec, OptionalLogSpec optionalLogSpec, String... args);
86 * Logs metric message with provided WARN {@link LogLevelCategory} and with default {@link OptionalLogSpec}
88 * @param message log message
89 * @param metricLogSpec metric log spec
90 * @param args argument values for log message interpolation
92 void warn(String message, MetricLogSpec metricLogSpec, String... args);
95 * Logs metric message with provided ERROR {@link LogLevelCategory}
97 * @param message log message
98 * @param metricLogSpec metric log spec
99 * @param args argument values for log message interpolation
101 void error(String message, MetricLogSpec metricLogSpec, OptionalLogSpec optionalLogSpec, String... args);
104 * Logs metric message with provided ERROR {@link LogLevelCategory} and with default {@link OptionalLogSpec}
106 * @param message log message
107 * @param metricLogSpec metric log spec
108 * @param args argument values for log message interpolation
110 void error(String message, MetricLogSpec metricLogSpec, String... args);
113 * Logs metric message with provided FATAL {@link LogLevelCategory}
115 * @param message log message
116 * @param metricLogSpec metric log spec
117 * @param args argument values for log message interpolation
119 void fatal(String message, MetricLogSpec metricLogSpec, OptionalLogSpec optionalLogSpec, String... args);
122 * Logs metric message with provided FATAL {@link LogLevelCategory} and with default {@link OptionalLogSpec}
124 * @param message log message
125 * @param metricLogSpec metric log spec
126 * @param args argument values for log message interpolation
128 void fatal(String message, MetricLogSpec metricLogSpec, String... args);