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.logback;
23 import org.onap.dcae.utils.eelf.logger.api.info.LogInfo;
24 import org.onap.dcae.utils.eelf.logger.model.info.AppLogInfoImpl;
25 import org.onap.dcae.utils.eelf.logger.model.info.CustomFieldsLogInfoImpl;
26 import org.onap.dcae.utils.eelf.logger.model.info.ErrorLogInfoImpl;
27 import org.onap.dcae.utils.eelf.logger.model.info.MiscLogInfoImpl;
28 import org.onap.dcae.utils.eelf.logger.model.info.RequestTimingLogInfoImpl;
29 import org.onap.dcae.utils.eelf.logger.model.info.ResponseLogInfoImpl;
30 import org.onap.dcae.utils.eelf.logger.model.info.ServiceLogInfoImpl;
31 import org.onap.dcae.utils.eelf.logger.model.info.TargetServiceLogInfoImpl;
32 import org.onap.dcae.utils.eelf.logger.model.spec.OptionalLogSpecImpl;
34 import java.util.Date;
36 import static org.onap.dcae.utils.eelf.logger.logback.utils.LogUtils.createDefaultAppLogInfo;
40 * This utility class various default implementations for EELF Logger. Users should use these default rather then
41 * creating their own {@link LogInfo} objects.
43 * @author Rajiv Singla
45 public class EELFLoggerDefaults {
47 private static final String UNKNOWN_FIELD_VALUE = "UNKNOWN";
49 // =============== APP LOG SPEC ======================//
51 * Provides Default {@link AppLogInfoImpl}
53 public static final AppLogInfoImpl DEFAULT_APP_LOG_INFO = createDefaultAppLogInfo();
56 // =============== AUDIT LOG SPEC ===================== //
58 private static final String DEFAULT_PARTNER_NAME =
59 System.getProperty("user.name") != null ? System.getProperty("user.name") : UNKNOWN_FIELD_VALUE;
61 public static final ServiceLogInfoImpl DEFAULT_SERVICE_LOG_INFO =
62 new ServiceLogInfoImpl(UNKNOWN_FIELD_VALUE, DEFAULT_PARTNER_NAME, "");
65 public static final RequestTimingLogInfoImpl DEFAULT_REQUEST_TIMING_LOG_INFO =
66 new RequestTimingLogInfoImpl(new Date(), new Date(), null);
69 public static final ResponseLogInfoImpl DEFAULT_RESPONSE_LOG_INFO =
70 new ResponseLogInfoImpl(900, "UNDEFINED");
73 // =============== METRIC LOG SPEC ===================== //
75 public static final TargetServiceLogInfoImpl DEFAULT_TARGET_SERVICE_LOG_INFO =
76 new TargetServiceLogInfoImpl(UNKNOWN_FIELD_VALUE, UNKNOWN_FIELD_VALUE, UNKNOWN_FIELD_VALUE);
78 // =============== ERROR LOG SPEC ===================== //
80 public static final ErrorLogInfoImpl DEFAULT_ERROR_LOG_INFO =
81 new ErrorLogInfoImpl(900, "UNDEFINED ERROR");
84 // ============= OPTIONAL LOG SPEC =================== //
87 * Provides Default {@link CustomFieldsLogInfoImpl}
89 public static final CustomFieldsLogInfoImpl DEFAULT_CUSTOM_FIELDS_LOG_INFO =
90 new CustomFieldsLogInfoImpl("", "", "", "");
93 * Provides Default {@link MiscLogInfoImpl}
95 public static final MiscLogInfoImpl DEFAULT_MISC_LOG_INFO = new MiscLogInfoImpl("", "");
99 * Provides Default {@link OptionalLogSpecImpl}
101 public static final OptionalLogSpecImpl DEFAULT_OPTIONAL_LOG_SPEC = new OptionalLogSpecImpl(null, null,
102 DEFAULT_CUSTOM_FIELDS_LOG_INFO, DEFAULT_MISC_LOG_INFO);