Re: OTP-24 and lager and line numbers

"Tristan Sloughter" <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <[email protected]>
Should open an issue with lager since they have merged some PRs that were meant to fix this but must not have worked https://github.com/erlang-lager/lager/issues/555

And try 3.9.0 since that appears to be the first release with OTP-24 fixes and maybe it broke in the following changes.

On Fri, Jun 11, 2021, at 06:00, Roger Lipscombe wrote:
> On Thu, 10 Jun 2021 at 20:14, Roger Lipscombe <[email protected]> wrote:
> >
> > I'm migrating a large project to OTP-24.x, and it seems that my line
> > numbers are tuples by the time they appear in my logs.
> >
> > How best to work around this? We're not in a position to rip out lager
> > just yet. Using lager 3.9.2.
> 
> Let me restate the problem:
> 
> When compiling with OTP-24, if I use (e.g.) lager:info("Hello World!")
> in my code, the lager_default_formatter expands 'line' to a tuple. The
> first value is the line number; I don't know what the second value is.
> In theory, it's the column number, but it doesn't correlate with
> anything obvious, and I suspect that it's been messed up by lager's
> parse transform anyway.
> 
> In OTP-23, 'line' would have been the integer line number.
> 
> The problem appears to be that where OTP-23's AST (as passed to the
> parse transform) would have had an integer for the line number, OTP-24
> passes a tuple[1] of {Line, Col}. lager, for better or worse,
> passes[2] this all the way through to the logging backend (and thus
> formatter), which just spits it straight out.
> 
> I was hoping not to have to fork lager to deal with this.
> 
> [1] Using beam_lib:chunks to look at the abstract_code chunk, I see a
> tuple for the location.
> [2] If I add some is_integer guards to the parse transform, it fails
> as expected.
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.