Class HtmlLayout
- java.lang.Object
-
- org.apache.logging.log4j.core.layout.AbstractLayout<String>
-
- org.apache.logging.log4j.core.layout.AbstractStringLayout
-
- org.apache.logging.log4j.core.layout.HtmlLayout
-
- All Implemented Interfaces:
LocationAware
,Layout<String>
,Encoder<LogEvent>
,StringLayout
@Plugin(name="HtmlLayout", category="Core", elementType="layout", printObject=true) public final class HtmlLayout extends AbstractStringLayout
Outputs events as rows in an HTML table on an HTML page.Appenders using this layout should have their encoding set to UTF-8 or UTF-16, otherwise events containing non ASCII characters could result in corrupted log files.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
HtmlLayout.Builder
static class
HtmlLayout.FontSize
Possible font sizes-
Nested classes/interfaces inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
AbstractStringLayout.Serializer, AbstractStringLayout.Serializer2
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_FONT_FAMILY
Default font family: "arial,sans-serif".-
Fields inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
DEFAULT_STRING_BUILDER_SIZE, MAX_STRING_BUILDER_SIZE
-
Fields inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
configuration, eventCount, footer, header, LOGGER
-
Fields inherited from interface org.apache.logging.log4j.core.Layout
ELEMENT_TYPE
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static HtmlLayout
createDefaultLayout()
Creates an HTML Layout using the default settings.static HtmlLayout
createLayout(boolean locationInfo, String title, String contentType, Charset charset, String fontSize, String font)
Creates an HTML Layout.String
getContentType()
Returns the content type output by this layout.byte[]
getFooter()
Returns the appropriate HTML footers.byte[]
getHeader()
Returns appropriate HTML headers.String
getTitle()
For testing purposes.boolean
isLocationInfo()
For testing purposes.static HtmlLayout.Builder
newBuilder()
boolean
requiresLocation()
String
toSerializable(LogEvent event)
Formats as a String.-
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractStringLayout
getBytes, getCharset, getFooterSerializer, getHeaderSerializer, getStringBuilder, getStringBuilderEncoder, serializeToBytes, serializeToString, toByteArray, trimToMaxSize
-
Methods inherited from class org.apache.logging.log4j.core.layout.AbstractLayout
encode, getConfiguration, getContentFormat, markEvent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.logging.log4j.core.Layout
getContentFormat
-
-
-
-
Field Detail
-
DEFAULT_FONT_FAMILY
public static final String DEFAULT_FONT_FAMILY
Default font family: "arial,sans-serif".- See Also:
- Constant Field Values
-
-
Method Detail
-
getTitle
public String getTitle()
For testing purposes.
-
isLocationInfo
public boolean isLocationInfo()
For testing purposes.
-
requiresLocation
public boolean requiresLocation()
- Specified by:
requiresLocation
in interfaceLocationAware
- Overrides:
requiresLocation
in classAbstractStringLayout
-
toSerializable
public String toSerializable(LogEvent event)
Formats as a String.- Parameters:
event
- The Logging Event.- Returns:
- A String containing the LogEvent as HTML.
-
getContentType
public String getContentType()
Description copied from interface:Layout
Returns the content type output by this layout. The base class returns "text/plain".- Specified by:
getContentType
in interfaceLayout<String>
- Overrides:
getContentType
in classAbstractStringLayout
- Returns:
- The default content type for Strings.
-
getHeader
public byte[] getHeader()
Returns appropriate HTML headers.- Specified by:
getHeader
in interfaceLayout<String>
- Overrides:
getHeader
in classAbstractStringLayout
- Returns:
- The header as a byte array.
-
getFooter
public byte[] getFooter()
Returns the appropriate HTML footers.- Specified by:
getFooter
in interfaceLayout<String>
- Overrides:
getFooter
in classAbstractStringLayout
- Returns:
- the footer as a byte array.
-
createLayout
@PluginFactory public static HtmlLayout createLayout(@PluginAttribute("locationInfo") boolean locationInfo, @PluginAttribute(value="title",defaultString="Log4j Log Messages") String title, @PluginAttribute("contentType") String contentType, @PluginAttribute(value="charset",defaultString="UTF-8") Charset charset, @PluginAttribute("fontSize") String fontSize, @PluginAttribute(value="fontName",defaultString="arial,sans-serif") String font)
Creates an HTML Layout.- Parameters:
locationInfo
- If "true", location information will be included. The default is false.title
- The title to include in the file header. If none is specified the default title will be used.contentType
- The content type. Defaults to "text/html".charset
- The character set to use. If not specified, the default will be used.fontSize
- The font size of the text.font
- The font to use for the text.- Returns:
- An HTML Layout.
-
createDefaultLayout
public static HtmlLayout createDefaultLayout()
Creates an HTML Layout using the default settings.- Returns:
- an HTML Layout.
-
newBuilder
@PluginBuilderFactory public static HtmlLayout.Builder newBuilder()
-
-