# How to configure Logger?

**URL:** <https://erlangforums.com/t/how-to-configure-logger/2357>\
**Category:** Questions / Help\
**Tags:** erlang-logger, logger\
**Created:** [February 13, 2023, 7:46pm UTC](https://erlangforums.com/t/how-to-configure-logger/2357 "2023-02-13T19:46:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![zabrane](https://erlangforums.com/letter_avatar_proxy/v4/letter/z/7ba0ec/32.png) [@zabrane](https://erlangforums.com/u/zabrane)\
**Post date:** [February 13, 2023, 7:46pm UTC](https://erlangforums.com/t/how-to-configure-logger/2357/1 "2023-02-13T19:46:14Z")

</div>

Hi guys,

With the default `logger` config, I get this:

```bash
$ ls -1 /var/log/dracs/
debug.log.1
debug.log.2
debug.log.3
debug.log.idx
debug.log.siz
error.log.1
error.log.2
error.log.idx
error.log.siz

```

What I’d like to have is something more convenient and similar to the old lager’s behavior:

```bash
$ ls -1 /var/log/dracs/
debug.log <--- latest DEBUG logs always written here (no suffix number)
debug.log.1
debug.log.2   
debug.log.idx
debug.log.siz
error.log <--- latest ERROR logs always written here (no suffix number)
error.log.1
error.log.idx
error.log.siz

```

Many thanks

---

<div class="post-metadata">

**Author:** ![bradhanks](https://erlangforums.com/user_avatar/erlangforums.com/bradhanks/32/1661_2.png) [@bradhanks](https://erlangforums.com/u/bradhanks)\
**Post date:** [March 22, 2023, 11:36pm UTC](https://erlangforums.com/t/how-to-configure-logger/2357/2 "2023-03-22T23:36:02Z")

</div>

Something like this might work:

```erlang
[
  {lager, [
    {handlers, [
      {lager_file_backend, [
        {file, "/var/log/dracs/debug.log"},
        {level, debug},
        {size, 10485760}, % 10 MB
        {date, "$D0"},
        {count, 2},
        {formatter, lager_default_formatter},
        {formatter_config, [time, " ", severity, ": ", message, "\n"]}
      ]},
      {lager_file_backend, [
        {file, "/var/log/dracs/error.log"},
        {level, error},
        {size, 10485760}, % 10 MB
        {date, "$D0"},
        {count, 2},
        {formatter, lager_default_formatter},
        {formatter_config, [time, " ", severity, ": ", message, "\n"]}
      ]}
    ]}
  ]}
].

```

I pulled the options from the lager\_file\_backend module code:

```erlang
record(state, {
        name :: string(),
        level :: {'mask', integer()},
        fd :: file:io_device() | undefined,
        inode :: integer() | undefined,
        flap=false :: boolean(),
        size = 0 :: integer(),
        date :: undefined | string(),
        count = 10 :: integer(),
        shaper :: lager_shaper(),
        formatter :: atom(),
        formatter_config :: any(),
        sync_on :: {'mask', integer()},
        check_interval = ?DEFAULT_CHECK_INTERVAL :: non_neg_integer(),
        sync_interval = ?DEFAULT_SYNC_INTERVAL :: non_neg_integer(),
        sync_size = ?DEFAULT_SYNC_SIZE :: non_neg_integer(),
        last_check = os:timestamp() :: erlang:timestamp()
    }).

```

Source: [lager/lager\_file\_backend.erl at master · basho/lager · GitHub](https://github.com/basho/lager/blob/master/src/lager_file_backend.erl)
