Class HtmlLayout
- java.lang.Object
-
- org.apache.logging.log4j.core.layout.AbstractLayout<java.lang.String>
-
- org.apache.logging.log4j.core.layout.AbstractStringLayout
-
- org.apache.logging.log4j.core.layout.HtmlLayout
-
- All Implemented Interfaces:
LocationAware,Layout<java.lang.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 classHtmlLayout.Builderstatic classHtmlLayout.FontSizePossible 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 private java.lang.StringcontentTypeprivate DatePatternConverterdatePatternConverterprivate static java.lang.StringDEFAULT_CONTENT_TYPEprivate static java.lang.StringDEFAULT_DATE_PATTERNstatic java.lang.StringDEFAULT_FONT_FAMILYDefault font family: "arial,sans-serif".private static java.lang.StringDEFAULT_TITLEprivate java.lang.Stringfontprivate java.lang.StringfontSizeprivate java.lang.StringheaderSizeprivate longjvmStartTimeprivate booleanlocationInfoprivate static java.lang.StringREGEXPprivate java.lang.Stringtitleprivate static java.lang.StringTRACE_PREFIX-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description privateHtmlLayout(boolean locationInfo, java.lang.String title, java.lang.String contentType, java.nio.charset.Charset charset, java.lang.String font, java.lang.String fontSize, java.lang.String headerSize, java.lang.String datePattern, java.lang.String timezone)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private java.lang.StringaddCharsetToContentType(java.lang.String contentType)private java.lang.StringBuilderappend(java.lang.StringBuilder sbuilder, java.lang.String s)private java.lang.StringBuilderappendLs(java.lang.StringBuilder sbuilder, java.lang.String s)private voidappendThrowableAsHtml(java.lang.Throwable throwable, java.lang.StringBuilder sbuf)static HtmlLayoutcreateDefaultLayout()Creates an HTML Layout using the default settings.static HtmlLayoutcreateLayout(boolean locationInfo, java.lang.String title, java.lang.String contentType, java.nio.charset.Charset charset, java.lang.String fontSize, java.lang.String font)Deprecated.java.lang.StringgetContentType()Returns the content type output by this layout.byte[]getFooter()Returns the appropriate HTML footers.byte[]getHeader()Returns appropriate HTML headers.java.lang.StringgetTitle()For testing purposes.booleanisLocationInfo()For testing purposes.static HtmlLayout.BuildernewBuilder()booleanrequiresLocation()java.lang.StringtoSerializable(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 java.lang.String DEFAULT_FONT_FAMILY
Default font family: "arial,sans-serif".- See Also:
- Constant Field Values
-
TRACE_PREFIX
private static final java.lang.String TRACE_PREFIX
- See Also:
- Constant Field Values
-
REGEXP
private static final java.lang.String REGEXP
-
DEFAULT_TITLE
private static final java.lang.String DEFAULT_TITLE
- See Also:
- Constant Field Values
-
DEFAULT_CONTENT_TYPE
private static final java.lang.String DEFAULT_CONTENT_TYPE
- See Also:
- Constant Field Values
-
DEFAULT_DATE_PATTERN
private static final java.lang.String DEFAULT_DATE_PATTERN
- See Also:
- Constant Field Values
-
jvmStartTime
private final long jvmStartTime
-
locationInfo
private final boolean locationInfo
-
title
private final java.lang.String title
-
contentType
private final java.lang.String contentType
-
font
private final java.lang.String font
-
fontSize
private final java.lang.String fontSize
-
headerSize
private final java.lang.String headerSize
-
datePatternConverter
private final DatePatternConverter datePatternConverter
-
-
Method Detail
-
getTitle
public java.lang.String getTitle()
For testing purposes.
-
isLocationInfo
public boolean isLocationInfo()
For testing purposes.
-
requiresLocation
public boolean requiresLocation()
- Specified by:
requiresLocationin interfaceLocationAware- Overrides:
requiresLocationin classAbstractStringLayout
-
addCharsetToContentType
private java.lang.String addCharsetToContentType(java.lang.String contentType)
-
toSerializable
public java.lang.String toSerializable(LogEvent event)
Formats as a String.- Parameters:
event- The Logging Event.- Returns:
- A String containing the LogEvent as HTML.
-
getContentType
public java.lang.String getContentType()
Description copied from interface:LayoutReturns the content type output by this layout. The base class returns "text/plain".- Specified by:
getContentTypein interfaceLayout<java.lang.String>- Overrides:
getContentTypein classAbstractStringLayout- Returns:
- The default content type for Strings.
-
appendThrowableAsHtml
private void appendThrowableAsHtml(java.lang.Throwable throwable, java.lang.StringBuilder sbuf)
-
appendLs
private java.lang.StringBuilder appendLs(java.lang.StringBuilder sbuilder, java.lang.String s)
-
append
private java.lang.StringBuilder append(java.lang.StringBuilder sbuilder, java.lang.String s)
-
getHeader
public byte[] getHeader()
Returns appropriate HTML headers.- Specified by:
getHeaderin interfaceLayout<java.lang.String>- Overrides:
getHeaderin classAbstractStringLayout- Returns:
- The header as a byte array.
-
getFooter
public byte[] getFooter()
Returns the appropriate HTML footers.- Specified by:
getFooterin interfaceLayout<java.lang.String>- Overrides:
getFooterin classAbstractStringLayout- Returns:
- the footer as a byte array.
-
createLayout
@Deprecated @PluginFactory public static HtmlLayout createLayout(@PluginAttribute("locationInfo") boolean locationInfo, @PluginAttribute(value="title",defaultString="Log4j Log Messages") java.lang.String title, @PluginAttribute("contentType") java.lang.String contentType, @PluginAttribute(value="charset",defaultString="UTF-8") java.nio.charset.Charset charset, @PluginAttribute("fontSize") java.lang.String fontSize, @PluginAttribute(value="fontName",defaultString="arial,sans-serif") java.lang.String font)
Deprecated.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()
-
-