001/* 002 * Licensed to the Apache Software Foundation (ASF) under one or more 003 * contributor license agreements. See the NOTICE file distributed with 004 * this work for additional information regarding copyright ownership. 005 * The ASF licenses this file to You under the Apache license, Version 2.0 006 * (the "License"); you may not use this file except in compliance with 007 * the License. You may obtain a copy of the License at 008 * 009 * http://www.apache.org/licenses/LICENSE-2.0 010 * 011 * Unless required by applicable law or agreed to in writing, software 012 * distributed under the License is distributed on an "AS IS" BASIS, 013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 014 * See the license for the specific language governing permissions and 015 * limitations under the license. 016 */ 017package org.apache.logging.log4j.core.filter; 018 019import org.apache.logging.log4j.Level; 020import org.apache.logging.log4j.Marker; 021import org.apache.logging.log4j.core.Filter; 022import org.apache.logging.log4j.core.LogEvent; 023import org.apache.logging.log4j.core.Logger; 024import org.apache.logging.log4j.core.config.Node; 025import org.apache.logging.log4j.core.config.plugins.Plugin; 026import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory; 027import org.apache.logging.log4j.message.Message; 028import org.apache.logging.log4j.util.PerformanceSensitive; 029 030/** 031 * This filter causes all logging events to be dropped. 032 */ 033@Plugin(name = "DenyAllFilter", category = Node.CATEGORY, elementType = Filter.ELEMENT_TYPE, printObject = true) 034@PerformanceSensitive("allocation") 035public final class DenyAllFilter extends AbstractFilter { 036 037 private DenyAllFilter(final Result onMatch, final Result onMismatch) { 038 super(onMatch, onMismatch); 039 } 040 041 @Override 042 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 043 final Object... params) { 044 return Result.DENY; 045 } 046 047 @Override 048 public Result filter(final Logger logger, final Level level, final Marker marker, final Object msg, 049 final Throwable t) { 050 return Result.DENY; 051 } 052 053 @Override 054 public Result filter(final Logger logger, final Level level, final Marker marker, final Message msg, 055 final Throwable t) { 056 return Result.DENY; 057 } 058 059 @Override 060 public Result filter(final LogEvent event) { 061 return Result.DENY; 062 } 063 064 private Result filter(final Marker marker) { 065 return Result.DENY; 066 } 067 068 @Override 069 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 070 final Object p0) { 071 return Result.DENY; 072 } 073 074 @Override 075 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 076 final Object p0, final Object p1) { 077 return Result.DENY; 078 } 079 080 @Override 081 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 082 final Object p0, final Object p1, final Object p2) { 083 return filter(marker); 084 } 085 086 @Override 087 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 088 final Object p0, final Object p1, final Object p2, final Object p3) { 089 return Result.DENY; 090 } 091 092 @Override 093 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 094 final Object p0, final Object p1, final Object p2, final Object p3, 095 final Object p4) { 096 return Result.DENY; 097 } 098 099 @Override 100 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 101 final Object p0, final Object p1, final Object p2, final Object p3, 102 final Object p4, final Object p5) { 103 return Result.DENY; 104 } 105 106 @Override 107 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 108 final Object p0, final Object p1, final Object p2, final Object p3, 109 final Object p4, final Object p5, final Object p6) { 110 return Result.DENY; 111 } 112 113 @Override 114 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 115 final Object p0, final Object p1, final Object p2, final Object p3, 116 final Object p4, final Object p5, final Object p6, 117 final Object p7) { 118 return Result.DENY; 119 } 120 121 @Override 122 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 123 final Object p0, final Object p1, final Object p2, final Object p3, 124 final Object p4, final Object p5, final Object p6, 125 final Object p7, final Object p8) { 126 return Result.DENY; 127 } 128 129 @Override 130 public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, 131 final Object p0, final Object p1, final Object p2, final Object p3, 132 final Object p4, final Object p5, final Object p6, 133 final Object p7, final Object p8, final Object p9) { 134 return Result.DENY; 135 } 136 137 @Override 138 public String toString() { 139 return "DenyAll"; 140 } 141 142 @PluginBuilderFactory 143 public static DenyAllFilter.Builder newBuilder() { 144 return new DenyAllFilter.Builder(); 145 } 146 147 public static class Builder extends AbstractFilterBuilder<DenyAllFilter.Builder> implements org.apache.logging.log4j.core.util.Builder<DenyAllFilter> { 148 149 @Override 150 public DenyAllFilter build() { 151 return new DenyAllFilter(this.getOnMatch(), this.getOnMismatch()); 152 } 153 } 154 155}