View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements. See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache license, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License. You may obtain a copy of the License at
8    *
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   *
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   */
17  
18  package org.apache.logging.log4j.core.config;
19  
20  import java.util.Objects;
21  
22  import org.apache.logging.log4j.Level;
23  import org.apache.logging.log4j.Marker;
24  import org.apache.logging.log4j.core.LogEvent;
25  import org.apache.logging.log4j.message.Message;
26  import org.apache.logging.log4j.util.Supplier;
27  
28  /**
29   * Reliability strategy that assumes reconfigurations will never take place.
30   */
31  public class DefaultReliabilityStrategy implements ReliabilityStrategy {
32  
33      private final LoggerConfig loggerConfig;
34  
35      public DefaultReliabilityStrategy(final LoggerConfig loggerConfig) {
36          this.loggerConfig = Objects.requireNonNull(loggerConfig, "loggerConfig is null");
37      }
38  
39      /*
40       * (non-Javadoc)
41       * 
42       * @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
43       * java.lang.String, java.lang.String, org.apache.logging.log4j.Marker, org.apache.logging.log4j.Level,
44       * org.apache.logging.log4j.message.Message, java.lang.Throwable)
45       */
46      @Override
47      public void log(final Supplier<LoggerConfig> reconfigured, final String loggerName, final String fqcn, final Marker marker, final Level level,
48              final Message data, final Throwable t) {
49          loggerConfig.log(loggerName, fqcn, marker, level, data, t);
50      }
51  
52      /*
53       * (non-Javadoc)
54       * 
55       * @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
56       * org.apache.logging.log4j.core.LogEvent)
57       */
58      @Override
59      public void log(final Supplier<LoggerConfig> reconfigured, final LogEvent event) {
60          loggerConfig.log(event);
61      }
62  
63      /*
64       * (non-Javadoc)
65       * 
66       * @see
67       * org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeLogEvent(org.apache.logging.log4j.core.config.
68       * LoggerConfig, org.apache.logging.log4j.util.Supplier)
69       */
70      @Override
71      public LoggerConfig getActiveLoggerConfig(final Supplier<LoggerConfig> next) {
72          return this.loggerConfig;
73      }
74  
75      /*
76       * (non-Javadoc)
77       * 
78       * @see org.apache.logging.log4j.core.config.ReliabilityStrategy#afterLogEvent()
79       */
80      @Override
81      public void afterLogEvent() {
82          // no action
83      }
84  
85      /*
86       * (non-Javadoc)
87       * 
88       * @see org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeStopAppenders()
89       */
90      @Override
91      public void beforeStopAppenders() {
92          // no action
93      }
94  
95      /*
96       * (non-Javadoc)
97       * 
98       * @see
99       * org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeStopConfiguration(org.apache.logging.log4j.core
100      * .config.Configuration)
101      */
102     @Override
103     public void beforeStopConfiguration(final Configuration configuration) {
104         // no action
105     }
106 
107 }