┌ KiteUtils
│ ┌ Warning: Verbosity logging macros are deprecated as they are not compatible with juliac-compiled programs
│ │ caller = ip:0x0
│ └ @ Core :-1
└
But what are “Verbosity logging macros?” How can I search my code for them?
That line is a Module and (should be a file and) line number for the origin of the warning, but maybe that information isn’t available because of juliac-compilation?
you aren’t the only one! I just started seeing these too…
Currently, I only see them on CI on GitHub. (Julia 1.10)
Test Summary: | Pass Broken Total Time
duplicate names and overrides | 131 1 132 19.1s
┌ Warning: Verbosity logging macros are deprecated as they are not compatible with juliac-compiled programs
│ caller = ip:0x0
└ @ Core :-1
2.004 μs (1 allocation: 7.94 KiB)
This is right before a BenchmarkTools output… could that be it? (But @time didn’t throw anything…)
@debugv N msg args...
@infov N msg args...
@warnv N msg args...
@errorv N msg args...
“Verbose” logging macros. Drop in replacements of standard logging macros, but an additional verbosity level N is passed to indicate differing verbosity levels for a given log level. …
From that LoggingExtras.jl package, i.e. nothing (yet, as far as I know) in Julia itself deprecated.
I didn’t even know of these, but they seems useful, why someone made them, so I’m curious why not working for juliac as opposed to “standard logging macros” (" @info@warn@error etc."), presumably (or do they actually neither work?).
The verbosity logging macros were a bit of an experiment for package logging. I wanted a way to selectively turn on some logs for only certain package operations by just passing a simple verbose=true like thing to the package operation. It’s surprisingly not a simple problem!
I’ve since come to realize the verbosity macros didn’t actually solve my issue: the LoggingExtras.withlevel function indeed makes it much easier to selectively enable logging, but it still enables, for example, debug logging in any dependent packages are also enabled. Sometimes those can be really noisy and hurt the original purpose of package operation logging.
My most recent thinking on the matter is package operation logging should just override the _group keyword argument for the normal logging macros, coupled with a convenient addition to the withlevel function to filter on specific groups.