---
title: Log event handler
description: The “log” event handler allows you to send Kapacitor alert messages to a log file. This page includes options and usage examples.
url: https://docs.influxdata.com/kapacitor/v1/reference/event_handlers/log/
estimated_tokens: 2109
product: Kapacitor
version: v1
---

# Log event handler

The log event handler writes to a specified log file with one alert event per line. If the specified log file does not exist, it will be created.

## Options

The following log event handler options can be set in a [handler file](/kapacitor/v1/reference/event_handlers/#create-a-topic-handler-with-a-handler-file) or when using `.log()` in a TICKscript.

| Name | Type | Description |
| --- | --- | --- |
| path | string | Absolute path to the log file. |
| mode | int | File mode and permissions to use when creating the file. Default is 0600. The leading 0 is required to interpret the value as an octal integer. |

### Example: handler file

```yaml
id: handler-id
topic: topic-name
kind: log
options:
  path: '/tmp/alerts.log'
  mode: 0644
```

### Example: TICKscript

```js
|alert()
  // ...
  .log('/tmp/alerts.log')
    .mode(0644)
```

## Using the log event handler

The log event handler can be used in both TICKscripts and handler files to log messages to a log file.

### Log messages from a TICKscript

The following TICKscript uses the `.log()` event handler to log a message to the `/tmp/alerts.log` log file whenever idle CPU usage drops below 10%.

***log-cpu-alert.tick***

```js
stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 10)
    .message('{{ .Time }}: CPU usage over 90%')
    .log('/tmp/alerts.log')
```

### Log messages from a defined handler

The following setup sends an alert to the `cpu` topic with the message, “’{{ .Time }}: CPU usage over 90%’”. A log handler is added that subscribes to the `cpu` topic and logs messages to `/tmp/alerts.log` whenever a new message is published.

Create a TICKscript that publishes alert messages to a topic. The TICKscript below sends an alert message to the `cpu` topic any time idle CPU usage drops below 10%.

***cpu\_alert.tick***

```js
stream
  |from()
    .measurement('cpu')
  |alert()
    .crit(lambda: "usage_idle" < 10)
    .message('{{ .Time }}: CPU usage over 90%')
    .topic('cpu')
```

Add and enable the TICKscript:

```bash
kapacitor define cpu_alert -tick cpu_alert.tick
kapacitor enable cpu_alert
```

Create a handler file that subscribes to the `cpu` topic and uses the log event handler to log messages to the `/tmp/alerts.log` log file.

***log\_cpu\_handler.yaml***

```yaml
id: log-cpu-alert
topic: cpu
kind: log
options:
  path: '/tmp/alerts.log'
```

Add the handler:

```bash
kapacitor define-topic-handler log_cpu_handler.yaml
```
