Class LogContext
- java.lang.Object
-
- org.apache.velocity.runtime.parser.LogContext
-
public class LogContext extends java.lang.Object
Track location in template files during rendering by populating the slf4j MDC tags
file
,line
andcolumn
.An MDC-aware logger can then use this info to display the template location in the message
For instance with webapp-slf4j-logger, it's enough to use
%file
,%line
and%column
in the logger format string.Since this feature can have a performance impact, it has to be enabled in
velocity.properties
using:runtime.log.track_location = true
(typically in a development environment)
- Since:
- 2.2
- Version:
- $Id:$
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
LogContext.StackElement
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.ThreadLocal<java.util.Deque<LogContext.StackElement>>
contextStack
protected static org.slf4j.Logger
logger
static java.lang.String
MDC_COLUMN
static java.lang.String
MDC_FILE
static java.lang.String
MDC_LINE
private static java.lang.String
STACKTRACE_LINE
private boolean
trackLocation
-
Constructor Summary
Constructors Constructor Description LogContext(boolean trackLocation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
clearLogContext()
java.lang.String[]
getStackTrace()
void
popLogContext()
void
pushLogContext(SimpleNode src, Info info)
private void
setLogContext(Info info)
-
-
-
Field Detail
-
logger
protected static org.slf4j.Logger logger
-
MDC_FILE
public static final java.lang.String MDC_FILE
- See Also:
- Constant Field Values
-
MDC_LINE
public static final java.lang.String MDC_LINE
- See Also:
- Constant Field Values
-
MDC_COLUMN
public static final java.lang.String MDC_COLUMN
- See Also:
- Constant Field Values
-
trackLocation
private boolean trackLocation
-
contextStack
private static java.lang.ThreadLocal<java.util.Deque<LogContext.StackElement>> contextStack
-
STACKTRACE_LINE
private static final java.lang.String STACKTRACE_LINE
- See Also:
- Constant Field Values
-
-
Method Detail
-
pushLogContext
public void pushLogContext(SimpleNode src, Info info)
-
popLogContext
public void popLogContext()
-
setLogContext
private void setLogContext(Info info)
-
clearLogContext
private void clearLogContext()
-
getStackTrace
public java.lang.String[] getStackTrace()
-
-