2015-04-20 05:59:39 +00:00
---
2020-01-18 00:18:09 +00:00
layout: docs
page_title: File - Audit Devices
sidebar_title: File
description: The "file" audit device writes audit logs to a file.
2015-04-20 05:59:39 +00:00
---
2017-09-08 02:38:47 +00:00
# File Audit Device
2015-04-20 05:59:39 +00:00
2017-09-08 02:38:47 +00:00
The `file` audit device writes audit logs to a file. This is a very simple audit
device: it appends logs to a file.
2016-09-30 19:08:38 +00:00
2017-09-08 02:38:47 +00:00
The device does not currently assist with any log rotation. There are very
2016-09-30 19:08:38 +00:00
stable and feature-filled log rotation tools already, so we recommend using
existing tools.
2017-09-08 02:38:47 +00:00
Sending a `SIGHUP` to the Vault process will cause `file` audit devices to close
and re-open their underlying file, which can assist with log rotation needs.
2015-04-20 05:59:39 +00:00
2017-09-08 02:38:47 +00:00
## Examples
2015-04-20 05:59:39 +00:00
2017-09-08 02:38:47 +00:00
Enable at the default path:
2015-04-20 05:59:39 +00:00
2020-05-21 17:18:17 +00:00
```shell-session
2017-09-08 02:38:47 +00:00
$ vault audit enable file file_path=/var/log/vault_audit.log
```
2015-04-20 05:59:39 +00:00
2017-09-08 02:38:47 +00:00
Enable at a different path. It is possible to enable multiple copies of an audit
device:
2015-04-20 05:59:39 +00:00
2020-05-21 17:18:17 +00:00
```shell-session
2017-09-08 02:38:47 +00:00
$ vault audit enable -path="vault_audit_1" file file_path=/home/user/vault_audit.log
2016-03-12 02:14:39 +00:00
```
2019-01-04 19:45:50 +00:00
Enable logs on stdout. This is useful when running in a container:
2020-05-21 17:18:17 +00:00
```shell-session
2019-01-04 19:45:50 +00:00
$ vault audit enable file file_path=stdout
```
2017-09-08 02:38:47 +00:00
## Configuration
2015-04-20 05:59:39 +00:00
2018-01-15 20:19:28 +00:00
Note the difference between `audit enable` command options and the `file` backend
configuration options. Use `vault audit enable -help` to see the command options.
2016-03-12 02:14:39 +00:00
Following are the configuration options available for the backend.
2015-04-20 05:59:39 +00:00
2019-01-04 19:45:50 +00:00
## Configuration
- `file_path` `(string: <required>)` - The path to where the audit log will be
written. If a file already exists at the given path, the audit backend will
append to it. There are some special keywords:
- `stdout` writes the audit log to standard output
- `discard` writes output (useful in testing scenarios)
- `log_raw` `(bool: false)` - If enabled, logs the security sensitive
information without hashing, in the raw format.
- `hmac_accessor` `(bool: true)` - If enabled, enables the hashing of token
accessor.
- `mode` `(string: "0600")` - A string containing an octal number representing
the bit pattern for the file mode, similar to `chmod`. Set to `"0000"` to
prevent Vault from modifying the file mode.
- `format` `(string: "json")` - Allows selecting the output format. Valid values
are `"json"` and `"jsonx"`, which formats the normal log entries as XML.
- `prefix` `(string: "")` - A customizable string prefix to write before the
actual log line.
2019-10-15 14:20:51 +00:00
## Log File Rotation
To properly rotate Vault File Audit Device log files on BSD, Darwin, or Linux-based Vault servers, it is important that you configure your log rotation software to send the `vault` process a signal hang up / `SIGHUP` after each rotation of the log file.