@@ -433,64 +433,30 @@ current_logger() = current_logstate().logger
433
433
"""
434
434
SimpleLogger(stream=STDERR, min_level=Info)
435
435
436
- Simplistic logger for logging all messages with level not less than `min_level`
437
- to `stream`.
436
+ Simplistic logger for logging all messages with level greater than or equal to
437
+ `min_level` to `stream`.
438
438
"""
439
439
struct SimpleLogger <: AbstractLogger
440
440
stream:: IO
441
441
min_level:: LogLevel
442
442
end
443
- SimpleLogger (stream:: IO = STDERR, level= Info) = SimpleLogger (stream, parse_level (level))
444
-
445
- function configure_logging (logger:: SimpleLogger ; min_level= Info)
446
- SimpleLogger (logger. stream, parse_level (min_level))
447
- end
443
+ SimpleLogger (stream:: IO = STDERR, level= Info) = SimpleLogger (stream, level)
448
444
449
445
shouldlog (logger:: SimpleLogger , level, args... ) = ! (level < logger. min_level)
450
446
451
447
min_enabled_level (logger:: SimpleLogger ) = logger. min_level
452
448
453
- function handle_message (logger:: SimpleLogger , level, msg , _module, group, id,
449
+ function handle_message (logger:: SimpleLogger , level, message , _module, group, id,
454
450
filepath, line; kwargs... )
455
- println (logger. stream, " $level [$(basename (String (filepath))) :$line ]: $msg " )
456
- end
457
-
458
-
459
- # -------------------------------------------------------------------------------
460
- # Logger configuration
461
-
462
- parse_level (level) = level
463
- parse_level (level:: String ) = parse_level (Symbol (lowercase (level)))
464
- function parse_level (level:: Symbol )
465
- if level == :belowminlevel return BelowMinLevel
466
- elseif level == :debug return Debug
467
- elseif level == :info return Info
468
- elseif level == :warn return Warn
469
- elseif level == :error return Error
470
- elseif level == :abovemaxlevel return AboveMaxLevel
471
- else
472
- throw (ArgumentError (" Unknown log level $level " ))
451
+ levelstr = string (level)
452
+ color = level < Info ? :blue :
453
+ level < Warn ? :cyan :
454
+ level < Error ? :yellow : :red
455
+ print_with_color (color, logger. stream, first (levelstr), " - " , bold= true )
456
+ print (logger. stream, replace (message, ' \n ' , " \n | " ))
457
+ println (logger. stream, " -" , levelstr, " :" , _module, " :" , basename (filepath), " :" , line)
458
+ for (key,val) in kwargs
459
+ println (logger. stream, " | " , key, " = " , val)
473
460
end
474
461
end
475
462
476
- """
477
- configure_logging(args...; kwargs...)
478
-
479
- Call `configure_logging` with the current logger, and update cached log
480
- filtering information.
481
- """
482
- function configure_logging (args... ; kwargs... )
483
- logger = configure_logging (current_logger (), args... ; kwargs... ):: AbstractLogger
484
- if haskey (task_local_storage (), :LOGGER_STATE )
485
- task_local_storage ()[:LOGGER_STATE ] = LogState (logger)
486
- else
487
- global _global_logstate = LogState (logger)
488
- end
489
- logger
490
- end
491
-
492
- configure_logging (:: AbstractLogger , args... ; kwargs... ) =
493
- throw (ArgumentError (" No configure_logging method matches the provided arguments." ))
494
-
495
-
496
- init_logging () = global_logger (SimpleLogger (STDERR))
0 commit comments