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
`AlmostAsIsEscapeUtil()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `escape​(java.lang.String escapeChars, java.lang.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 Detail

#### AlmostAsIsEscapeUtil

    public AlmostAsIsEscapeUtil()

### Method Detail

#### escape

    public void escape​(java.lang.String escapeChars,
                       java.lang.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`