Log4j Format Specification: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 13: Line 13:
=Pattern Layout=
=Pattern Layout=


{{External|http://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout}}
{{Internal|Log4j Pattern Layout|Log4j Pattern Layout}}
 
The pattern layout is defined by a [[#Conversion_Pattern|conversion pattern]] string.
 
==Conversion Pattern==
 
A conversion pattern string , where various elements of a log event can be referred and the way they are intended to be displayed in a log file specified. The conversion pattern is closely related to the conversion pattern of the [[printf]] function in C. The conversion pattern is composed of:
* [[#Literal_Text|literal text]]
* [[#Conversion_Specifier|conversion specifiers]]
 
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|format modifier]] and a mandatory ''[[#Conversion_Character|conversion character]]'':
 
%-5c
 
====Format Modifier====
 
A ''format modifier'' modifies how the data generated by the [[#Conversion_Specifier|conversion specifier]] is displayed: field with, padding and justification.
 
====Conversion Character====
 
The ''conversion character'' specifies the type of data:
 
* 'c': category (or logger).
 
c{precision}
 
* 'd': date.
* 'm': application supplied message associated with this log event.
* 'n': platform dependent line separator.
* 'p': the level of the logging event
* 't': thread name
 
==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.

Revision as of 19:57, 15 November 2017

External

Internal

Overview

log4j calls its output format layout. Most commonly used is the pattern layout.

Pattern Layout

Log4j Pattern Layout