Package ch.qos.logback.core.pattern.util

# Class AlmostAsIsEscapeUtil

java.lang.Object
ch.qos.logback.core.pattern.util.RestrictedEscapeUtil
ch.qos.logback.core.pattern.util.AlmostAsIsEscapeUtil

All Implemented Interfaces:
  `IEscapeUtil`

public class AlmostAsIsEscapeUtil extends RestrictedEscapeUtil
This implementation is intended for use in `FileNamePattern`.

Author:
  Ceki Gülcü

## Constructor Summary

Constructors
Constructor
Description
`AlmostAsIsEscapeUtil()`

## Method Summary

Modifier and Type
Method
Description
`void`
`escape(String escapeChars, StringBuffer buf, char next, int pointer)`
Do not perform any character escaping, except for '%', and ')'.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AlmostAsIsEscapeUtil

public AlmostAsIsEscapeUtil()

## Method Details

### escape

public void escape(String escapeChars, StringBuffer buf, char next, int pointer)
Do not perform any character escaping, except for '%', and ')'.

Here is the rationale. First, filename patterns do not include escape combinations such as \r or \n. Moreover, characters which have special meaning in logback parsers, such as '{', or '}' cannot be part of file names (so me thinks). The left parenthesis character has special meaning only if it is preceded by %. Thus, the only characters that needs escaping are '%' and ')'.

Note that this method assumes that it is called after the escape character has been consumed.

Specified by:
  `escape` in interface `IEscapeUtil`
Overrides:
  `escape` in class `RestrictedEscapeUtil`