Log4j Pattern Layout: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 31: Line 31:
===Format Modifier===
===Format Modifier===


A ''format modifier'' modifies how the data generated by the [[#Conversion_Specifier|conversion specifier]] is displayed: field with, padding and justification.
A ''format modifier'' modifies how the data generated by the [[#Conversion_Specifier|conversion specifier]] is displayed: field with, padding and justification. The format modifier is optional. It is placed between the  percent sign and the [[#Conversion_Character|conversion character]].


===Conversion Character===
===Conversion Character===

Revision as of 20:27, 15 November 2017

External

Internal

Overview

The pattern layout is defined by a conversion pattern string.

Conversion Pattern

The conversion pattern string specifies the various elements of a log event and the way they are intended to be displayed in a log file. The conversion pattern is closely related to the conversion pattern of the printf function in C. The conversion pattern is composed of:

There is no explicit separator between literal text and conversion specifiers. The pattern parser knows when it has reached the end of a conversion specifier when it reads a conversion character.

Literal Text

Literal text may include special characters (\t, \n \r \f). '\\' can be used to insert a backslash in the output.

Conversion Specifier

Each conversion specifier starts with a percent sign ('%') and it is followed by an optional format modifier and a mandatory conversion character:

%-5c

Format Modifier

A format modifier modifies how the data generated by the conversion specifier is displayed: field with, padding and justification. The format modifier is optional. It is placed between the percent sign and the conversion character.

Conversion Character

The conversion character specifies the type of data.

'c' Category (or Logger)

c{precision}

'd' Date

d

'm' Message

Application supplied message associated with this log event.

m

'n'

Platform dependent line separator.

n

'p' Level

The level of the logging event:

p

't' Thread Name

t

Throwable Handling

If the pattern string does not contain a specifier to handle a Throwable being logged, parsing of the pattern will act as if the "%xEx" specifier had been added to the end of the string. To suppress formatting of the Throwable completely, simply add "%ex{0}" as a specifier in the pattern string.