Crystal: Trying to use stdlib deprecated feature ends up with huge warnings mess

Created on 28 Mar 2020  路  16Comments  路  Source: crystal-lang/crystal

Trying to use Logger results in enough amount of warnings - all from stdlib - to make me want to question the usefulness of having the warnings from stdlib in the first place...

(Found out when running crystal spec --error-trace with newest compiler on raven.cr codebase - and I've included _only_ the ones from stdlib)

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
    12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
    32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
 >  52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
    72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
    92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated Logger+#log. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
    12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
    32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
    52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
    72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
 >  92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated Raven::Logger#log. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:124:3

 124 | def initialize(@io : IO?, @level = Severity::INFO, @formatter = DEFAULT_FORMATTER, @progname = "")
       ^---------
Warning: Deprecated LoggerTest#initialize. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
 >  12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
    32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
    52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
    72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
    92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated Logger+#log. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
    12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
 >  32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
    52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
    72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
    92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated LoggerTest#log. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
    12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
 >  32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
    52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
    72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
    92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated Logger+#log. Use `Log` module instead

In /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}
       ^
Warning: expanding macro


There was a problem expanding macro 'macro_4602011248'

Called macro defined in /Users/sija/Code/crystal/src/logger.cr:140:3

 140 | {% for name in Severity.constants %}

Which expanded to:

     1 |
     2 |     DEBUG = Severity::DEBUG
     3 |
     4 |     # Returns `true` if the logger's current severity is lower or equal to `DEBUG`.
     5 |     def debug?
     6 |       level <= Severity::DEBUG
     7 |     end
     8 |
     9 |     # Logs *message* if the logger's current severity is lower or equal to `DEBUG`.
    10 |     # *progname* overrides a default progname set in this logger.
    11 |     def debug(message, progname = nil)
    12 |       log(Severity::DEBUG, message, progname)
    13 |     end
    14 |
    15 |     # Logs the message as returned from the given block if the logger's current severity
    16 |     # is lower or equal to `DEBUG`. The block is not run if the severity is higher.
    17 |     # *progname* overrides a default progname set in this logger.
    18 |     def debug(progname = nil)
    19 |       log(Severity::DEBUG, progname) { yield }
    20 |     end
    21 |
    22 |     INFO = Severity::INFO
    23 |
    24 |     # Returns `true` if the logger's current severity is lower or equal to `INFO`.
    25 |     def info?
    26 |       level <= Severity::INFO
    27 |     end
    28 |
    29 |     # Logs *message* if the logger's current severity is lower or equal to `INFO`.
    30 |     # *progname* overrides a default progname set in this logger.
    31 |     def info(message, progname = nil)
    32 |       log(Severity::INFO, message, progname)
    33 |     end
    34 |
    35 |     # Logs the message as returned from the given block if the logger's current severity
    36 |     # is lower or equal to `INFO`. The block is not run if the severity is higher.
    37 |     # *progname* overrides a default progname set in this logger.
    38 |     def info(progname = nil)
    39 |       log(Severity::INFO, progname) { yield }
    40 |     end
    41 |
    42 |     WARN = Severity::WARN
    43 |
    44 |     # Returns `true` if the logger's current severity is lower or equal to `WARN`.
    45 |     def warn?
    46 |       level <= Severity::WARN
    47 |     end
    48 |
    49 |     # Logs *message* if the logger's current severity is lower or equal to `WARN`.
    50 |     # *progname* overrides a default progname set in this logger.
    51 |     def warn(message, progname = nil)
    52 |       log(Severity::WARN, message, progname)
    53 |     end
    54 |
    55 |     # Logs the message as returned from the given block if the logger's current severity
    56 |     # is lower or equal to `WARN`. The block is not run if the severity is higher.
    57 |     # *progname* overrides a default progname set in this logger.
    58 |     def warn(progname = nil)
    59 |       log(Severity::WARN, progname) { yield }
    60 |     end
    61 |
    62 |     ERROR = Severity::ERROR
    63 |
    64 |     # Returns `true` if the logger's current severity is lower or equal to `ERROR`.
    65 |     def error?
    66 |       level <= Severity::ERROR
    67 |     end
    68 |
    69 |     # Logs *message* if the logger's current severity is lower or equal to `ERROR`.
    70 |     # *progname* overrides a default progname set in this logger.
    71 |     def error(message, progname = nil)
 >  72 |       log(Severity::ERROR, message, progname)
    73 |     end
    74 |
    75 |     # Logs the message as returned from the given block if the logger's current severity
    76 |     # is lower or equal to `ERROR`. The block is not run if the severity is higher.
    77 |     # *progname* overrides a default progname set in this logger.
    78 |     def error(progname = nil)
    79 |       log(Severity::ERROR, progname) { yield }
    80 |     end
    81 |
    82 |     FATAL = Severity::FATAL
    83 |
    84 |     # Returns `true` if the logger's current severity is lower or equal to `FATAL`.
    85 |     def fatal?
    86 |       level <= Severity::FATAL
    87 |     end
    88 |
    89 |     # Logs *message* if the logger's current severity is lower or equal to `FATAL`.
    90 |     # *progname* overrides a default progname set in this logger.
    91 |     def fatal(message, progname = nil)
    92 |       log(Severity::FATAL, message, progname)
    93 |     end
    94 |
    95 |     # Logs the message as returned from the given block if the logger's current severity
    96 |     # is lower or equal to `FATAL`. The block is not run if the severity is higher.
    97 |     # *progname* overrides a default progname set in this logger.
    98 |     def fatal(progname = nil)
    99 |       log(Severity::FATAL, progname) { yield }
   100 |     end
   101 |
   102 |     UNKNOWN = Severity::UNKNOWN
   103 |
   104 |     # Returns `true` if the logger's current severity is lower or equal to `UNKNOWN`.
   105 |     def unknown?
   106 |       level <= Severity::UNKNOWN
   107 |     end
   108 |
   109 |     # Logs *message* if the logger's current severity is lower or equal to `UNKNOWN`.
   110 |     # *progname* overrides a default progname set in this logger.
   111 |     def unknown(message, progname = nil)
   112 |       log(Severity::UNKNOWN, message, progname)
   113 |     end
   114 |
   115 |     # Logs the message as returned from the given block if the logger's current severity
   116 |     # is lower or equal to `UNKNOWN`. The block is not run if the severity is higher.
   117 |     # *progname* overrides a default progname set in this logger.
   118 |     def unknown(progname = nil)
   119 |       log(Severity::UNKNOWN, progname) { yield }
   120 |     end
   121 |
Warning: Deprecated Logger+#log. Use `Log` module instead

Most helpful comment

No, what it really does make me wanna do, is to share this mess with you on this bug tracker you see ;)

All 16 comments

Is it still too verbose without --error-trace?

Also, why is this a problem? Does using Log instead of Logger fixes the issue?

@j8r It doesn't change a thing.

@asterite It's a problem because most of these warnings point me to stdlib definitions (multiple times) - which is neither helpful nor needed - it's just noise.

What is LoggerTest? I can't find that in stdlib.

@jhass that's a class from raven.cr spec suite.

So that's what rightfully triggers the deprecation warnings.

Still, having 4 x Warning: Deprecated Logger+#log. UseLogmodule instead seems a bit over-the-top to me.

I think it's fine. It really makes you wanting to fix those warnings :-)

No, what it really does make me wanna do, is to share this mess with you on this bug tracker you see ;)

Is the problem that it's repeated four times, or that it's long?

Well, both to be honest - especially repeating the same - pretty lengthy part - 4 times, makes scrolling and finding sth out of this mess a real PITA

I agree. But the deprecated call happens inside a macro. I don't know how we can make it shorter and clearer without showing all the call trace.

I don't think the call trace should be shown at all for deprecations. Just print out one single line per deprecation, with the location and the message.

If you need the full trace, there should be a crystal tool deprecations to show the lengthy output, or a compiler flag.

@Sija if too much noise is generated from a location you can use --exclude-warnings <path> maybe to exclude LoggerTest's location. Since the whole module is deprecated another alternative to signal the deprecation is to do something as in https://github.com/crystal-lang/crystal/pull/8952/files#diff-32702e81a162c21be571a37b531cac77R3 but I prefer to avoid that when possible.

@bcardiff yeah, or I could disable the warnings altogether but that's not the point - they should be readable out-of-the-box or they'd just become an irritating nuisance to avoid.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

farleyknight picture farleyknight  路  64Comments

RX14 picture RX14  路  62Comments

asterite picture asterite  路  70Comments

straight-shoota picture straight-shoota  路  91Comments

MakeNowJust picture MakeNowJust  路  64Comments