# Logging

The salt project tries to get the logging to work for you and help us solve any issues you might find along the way.

If you want to get some more information on the nitty-gritty of salt's logging system, please head over to the logging development document, if all you're after is salt's logging configurations, please continue reading.

## Available Configuration Settings

### `log_file`

The log records can be sent to a regular file, local path name, or network location. Remote logging works best when configured to use rsyslogd(8) (e.g.: `file:///dev/log`), with rsyslogd(8) configured for network logging. The format for remote addresses is: `<file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>`.

Default: Dependent of the binary being executed, for example, for `salt-master`, `/var/log/salt/master`.

Examples:

    log_file: /var/log/salt/master

    log_file: /var/log/salt/minion

    log_file: file:///dev/log

    log_file: udp://loghost:10514

### `log_level`

Default: `warning`

The level of log record messages to send to the console. One of `all`, `garbage`, `trace`, `debug`, `info`, `warning`, `error`, `critical`, `quiet`.

    log_level: warning

### `log_level_logfile`

Default: `warning`

The level of messages to send to the log file. One of `all`, `garbage`, `trace`, `debug`, `info`, `warning`, `error`, `critical`, `quiet`.

    log_level_logfile: warning

### `log_datefmt`

Default: `%H:%M:%S`

The date and time format used in console log messages. Allowed date/time formatting can be seen on `time.strftime`.

    log_datefmt: '%H:%M:%S'

### `log_datefmt_logfile`

Default: `%Y-%m-%d %H:%M:%S`

The date and time format used in log file messages. Allowed date/time formatting can be seen on `time.strftime`.

    log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'

### `log_fmt_console`

Default: `[%(levelname)-8s] %(message)s`

The format of the console logging messages. Allowed formatting options can be seen on the LogRecord attributes.

    log_fmt_console: '[%(levelname)-8s] %(message)s'

### `log_fmt_logfile`

Default: `%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s`

The format of the log file logging messages. Allowed formatting options can be seen on the LogRecord attributes.

    log_fmt_logfile: '%(asctime)s,%(msecs)03.0f [%(name)-17s][%(levelname)-8s] %(message)s'

### `log_granular_levels`

Default: `{}`

This can be used to control logging levels more specifically. The example sets the main salt library at the 'warning' level, but sets `salt.modules` to log at the `debug` level:

    log_granular_levels:
      'salt': 'warning',
      'salt.modules': 'debug'

### External Logging Handlers

Besides the internal logging handlers used by salt, there are some external which can be used, see the external logging handlers document.

Current Salt release: 0.17.1

### Table Of Contents

- Logging
  - Available Configuration Settings
    - `log_file`
    - `log_level`
    - `log_level_logfile`
    - `log_datefmt`
    - `log_datefmt_logfile`
    - `log_fmt_console`
    - `log_fmt_logfile`
    - `log_granular_levels`
    - External Logging Handlers

#### Previous topic

Translating Documentation

#### Next topic

External Logging Handlers

### Quick search

Enter search terms or a module, class or function name.

### Upcoming SaltStack Events

My conferences on Lanyrd