cd7859a170addf6f85c5f159e6f1ce09f395652f
[so.git] / common / src / main / java / org / onap / so / logger / LoggerStartupListener.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Modifications Copyright (c) 2019 Samsung
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.so.logger;
24
25 import java.net.InetAddress;
26 import java.net.UnknownHostException;
27
28 import org.slf4j.Logger;
29 import org.slf4j.LoggerFactory;
30 import org.springframework.stereotype.Component;
31
32 import ch.qos.logback.classic.Level;
33 import ch.qos.logback.classic.LoggerContext;
34 import ch.qos.logback.classic.spi.LoggerContextListener;
35 import ch.qos.logback.core.Context;
36 import ch.qos.logback.core.spi.ContextAwareBase;
37 import ch.qos.logback.core.spi.LifeCycle;
38
39 @Component
40 public class LoggerStartupListener extends ContextAwareBase implements LoggerContextListener, LifeCycle {
41
42         private boolean started = false;
43         private static final Logger logger = LoggerFactory.getLogger(LoggerStartupListener.class);
44
45     @Override
46     public void start() {
47         if (started) 
48                 return;
49         InetAddress addr= null;
50                 try {
51                         addr = InetAddress.getLocalHost();
52                 } catch (UnknownHostException e) {
53                         logger.error("UnknownHostException",e);
54                         
55                 }    
56         Context context = getContext();
57         if (addr != null) {
58                 context.putProperty("server.name", addr.getHostName());
59         }
60         started = true;
61     }
62
63     @Override
64     public void stop() {
65     }
66
67         @Override
68         public boolean isStarted() {
69                 return started;
70         }
71
72         @Override
73         public boolean isResetResistant() {
74                 return true;
75         }
76
77         @Override
78         public void onReset(LoggerContext arg0) {
79         }
80
81         @Override
82         public void onStart(LoggerContext arg0) {
83         }
84
85         @Override
86         public void onStop(LoggerContext arg0) {
87         }
88
89         @Override
90         public void onLevelChange(ch.qos.logback.classic.Logger logger, Level level) {
91         }
92 }