Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/unifysell/youtrack_logger_backend

Adding youtrack as a logger backend to your elixir application.
https://github.com/unifysell/youtrack_logger_backend

backend elixir genevent issue-tracker logger youtrack

Last synced: about 2 months ago
JSON representation

Adding youtrack as a logger backend to your elixir application.

Awesome Lists containing this project

README

        

# youtrack_logger_backend

[![Build Status](https://travis-ci.org/unifysell/youtrack_logger_backend.svg?branch=master)](https://travis-ci.org/unifysell/youtrack_logger_backend)

This is an elixir logger backend inspired by the onkel-dirtus/logger_file_backend.

## References

* the [hex package](https://hex.pm/packages/youtrack_logger_backend)
* the [hex documentation](https://hexdocs.pm/youtrack_logger_backend/readme.html)
* if you have found any issues with the package, please tell us [here](https://github.com/unifysell/youtrack_logger_backend/issues)

## Installation

Add to your deps inside the `mix.exs`:

```elixir
{:youtrack_logger_backend, "~> 0.1"}
```

Run `mix deps.get` to download it.

## Base Application config - required

Add the following to your configuration (this is the minimum required config beside the token):

```elixir
config :logger,
backends: [{Logger.Backend.Youtrack, :youtrack}]

config :logger, :youtrack,
host: "https://xxx.myjetbrains.com/youtrack",
project: "xxx"
```

When configuring the youtrack backend, the keys `host`, `project` and `token` are required.
Add your youtrack url and the project you want to push your issues to.

## Add a youtrack PERMANENT TOKEN - required

Get this token on 'Profile'->'Update personal information and manage logins'->'Authentication' and create a new token or get an existing one here.
You can also have a look at the official manual: https://www.jetbrains.com/help/youtrack/standalone/Manage-Permanent-Token.html

It is recommended to store the secret information inside a separate config like `prod.secret.exs` and not adding it to your version control.

```elixir
config :logger, :youtrack,
token: "xxx"
```

## More configuration options - optional

If you want to, you can also configure the following keys: `format_summary`, `format_description`, `metadata`, `level`.
They all have default settings, so only use them if you want to customize.
Your config could look like this:

```elixir
config :logger,
backends: [{Logger.Backend.Youtrack, :youtrack}]

config :logger, :youtrack,
host: "https://xxx.myjetbrains.com/youtrack",
project: "xxx",
format_summary: "$level: $message\n", #optional
format_description: "$date $time\n$metadata\n", #optional
metadata: [:module, :file, :function, :line], #optional - describes $metadata
level: :error #optional
```