## Logback error messages and their meanings

1. contextSelector cannot be null
2. The FileNamePattern option must be set before using `TimeBasedRollingPolicy` or `FixedWindowRollingPolicy`
3. The File name option must be set before `FixedWindowRollingPolicy`
4. No remote host or address is set for `SocketAppender`
5. No remote port is set for `SocketAppender`
6. No `Layout` is set for appender
7. Specified number is not in proper int form, or not expected format.
8. No `TriggeringPolicy` was set for the `RollingFileAppender`
9. No `RollingPolicy` was set for the `RollingFileAppender`

## Error codes and their meanings

contextSelector cannot be null
The FileNamePattern option must be set before using `TimeBasedRollingPolicy` or `FixedWindowRollingPolicy`

  The FileNamePattern option for both `TimeBasedRollingPolicy` and `FixedWindowRollingPolicy` is mandatory.

  See the FixedWindowRollingPolicy javadoc for more information.

  [top]

The File name option must be set before `FixedWindowRollingPolicy`

  The File option is mandatory with `FixedWindowRollingPolicy`. Moreover, the File option must be set before the declaration configuring `FixedWindowRollingPolicy`.

  See the logback manual's chapter about FixedWindowRollingPolicy for more information.

  [top]

No remote host or address is set for `SocketAppender`

  A remote host or address is mandatory for SocketAppender.

  You can specify the remote host in the configuration file like this:

      <appender name="SOCKET" class="ch.qos.logback.classic.net.SocketAppender">
        ...
        <param name="remoteHost" value="127.0.0.1"></param>
        ...
      </appender>

  [top]

No remote port is set for `SocketAppender`

  A remote port is mandatory for SocketAppender.

  You can specify the remote port in the configuration file like this:

      <appender name="SOCKET" class="ch.qos.logback.classic.net.SocketAppender">
        ...
        <param name="port" value="4560"></param>
        ...
      </appender>

  [top]

No `Layout` is set for appender

  A `Layout` is mandatory for `SMTPAppender` . It allows the appender format the logging events before sending the email. Two layouts are often used with `SMTPAppender` : `PatternLayout` and `HTMLLayout` .

  You can specify the `Layout` in the configuration file like this:

      <appender name="SMTP" class="ch.qos.logback.classic.net.SMTPAppender">
        ...
        <layout class="ch.qos.logback.classic.PatternLayout">
        <param name="pattern" value="%-4relative [%thread] %-5level %class - %msg%n"></param>
       </layout>
        ...
      </appender>

  You can see more examples in the HTMLLayout javadoc and the PatternLayout javadoc

  [top]

Specified number is not in proper int form, or not expected format.

  When you specify the MaxFileSize to be used by the SizeBasedRollingPolicy, logback expects a rather precise format:

  - The number has to be an integer
  - You can add 'KB', 'MB' or 'GB' after the number.

  Here are some correct values: 500KB, 15MB, 2GB.

  [top]

No `TriggeringPolicy` was set for the `RollingFileAppender`.

  The `RollingFileAppender` must be set up with a `TriggeringPolicy`. It permits the Appender to know when the rollover must be activated.

  To find more information about `TriggeringPolicy` objects, please read the following javadocs:

  - `SizeBasedTriggeringPolicy`
  - `TimeBasedRollingPolicy`

  Please note that the `TimeBasedRollingPolicy` is a TriggeringPolicy and and `RollingPolicy` at the same time.

  [top]

No `RollingPolicy` was set for the `RollingFileAppender`.

  The `RollingFileAppender` must be set up with a `RollingPolicy`. It permits the Appender to know what to do when a rollover is requested.

  To find more information about `RollingPolicy` objects, please read the following javadocs:

  - `FixedWindowRollingPolicy`
  - `TimeBasedRollingPolicy`

  Please note that the `TimeBasedRollingPolicy` is a `TriggeringPolicy` and and RollingPolicy at the same time.

  [top]