1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.taglib;
18
19 import javax.servlet.jsp.JspException;
20 import javax.servlet.jsp.tagext.Tag;
21
22 import org.apache.logging.log4j.Level;
23 import org.apache.logging.log4j.Marker;
24
25
26
27
28
29
30 public class IfEnabledTag extends LoggerAwareTagSupport {
31 private static final long serialVersionUID = 1L;
32
33 private transient Object level;
34
35 private Marker marker;
36
37 @Override
38 protected void init() {
39 super.init();
40 this.level = null;
41 this.marker = null;
42 }
43
44 public final void setLevel(final Object level) {
45 this.level = level;
46 }
47
48 public final void setMarker(final Marker marker) {
49 this.marker = marker;
50 }
51
52 @Override
53 public int doStartTag() throws JspException {
54 final Level level = TagUtils.resolveLevel(this.level);
55 if (level == null) {
56 throw new JspException("Level must be of type String or org.apache.logging.log4j.Level.");
57 }
58
59 return TagUtils.isEnabled(this.getLogger(), level, this.marker) ? Tag.EVAL_BODY_INCLUDE : Tag.SKIP_BODY;
60 }
61 }