Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oderwat/nu_plugin_logfmt

A simple from / to logfmt plugin for nushell
https://github.com/oderwat/nu_plugin_logfmt

Last synced: 19 days ago
JSON representation

A simple from / to logfmt plugin for nushell

Awesome Lists containing this project

README

        

# Nu Plugin Logfmt

## Overview

The `nu-plugin-logfmt` is a Nushell plugin that allows conversion between logfmt (a key=value format used by some logging systems) and Nushell
values. The plugin provides two commands:

1. **from logfmt**: Converts a logfmt string to a Nushell record.
2. **to logfmt**: Converts a Nushell record to a logfmt string.

### Steps to Install

Ensure you have Go installed on your system. You can download it from [here](https://golang.org/dl/).

```bash
go install github.com/oderwat/nu_plugin_logfmt@latest
plugin add ~/go/bin/nu_plugin_logfmt
plugin use nu_plugin_logfmt
```

or move it to your nushell plugins directory if you have one for that.

## Usage

### from logfmt Command

The `from logfmt` command converts a logfmt string to a Nushell record.

If the `--typed` flag is given. The function detect simple types.

**Syntax:**

```nu
| from logfmt [--typed]
```

**Example:**

```nu
'msg="Test message" level=info esc="» Say \"Hello\""' | from logfmt
```

**Output:**

```nu
{
"level": "info",
"msg": "Test message",
"esc": "» Say \"Hello\""
}
```

### to logfmt Command

The `to logfmt` command converts a Nushell record to a logfmt string.

**Syntax:**

```nu
| to logfmt
```

**Example:**

```nu
{ "msg": "Hello World!", "Lang": { "Go": true, "Rust": false } } | to logfmt
```

**Output:**

```nu
msg="Hello World!" Lang.Go=true Lang.Rust=false
```

## License

Distributed under the MIT License. See `LICENSE` for more information.