| 1 | import log |
| 2 | import time |
| 3 | |
| 4 | fn test_default_log_instance() { |
| 5 | println(@FN + ' start') |
| 6 | log.info('info') |
| 7 | log.warn('warn') |
| 8 | log.error('error') |
| 9 | log.debug('no output for debug') |
| 10 | println('^^^ there should be no `no output for debug` shown above') |
| 11 | log.set_level(.debug) |
| 12 | log.debug('debug now') |
| 13 | println('^^^ there should be `debug now` shown above') |
| 14 | log.set_level(log.level_from_tag('INFO') or { log.Level.disabled }) |
| 15 | log.info('info again') |
| 16 | log.debug('no output for debug') |
| 17 | log.set_level(log.level_from_tag('') or { log.Level.disabled }) |
| 18 | log.error('no output anymore') |
| 19 | println('^^^ there should be no `no output anymore` shown above') |
| 20 | println(@FN + ' end') |
| 21 | } |
| 22 | |
| 23 | fn log_messages(tidx int) { |
| 24 | time.sleep(2 * time.millisecond) |
| 25 | for i in 0 .. 3 { |
| 26 | log.debug('hi from thread ${tidx}') |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | fn test_default_log_instance_used_in_multiple_threads() { |
| 31 | eprintln('\n${@METHOD} start') |
| 32 | log.set_level(.debug) |
| 33 | mut threads := []thread{} |
| 34 | for tidx in 0 .. 3 { |
| 35 | threads << spawn log_messages(tidx) |
| 36 | } |
| 37 | threads.wait() |
| 38 | } |
| 39 | |