nushell/crates/nu-utils/standard_library/test_logger.nu
Máté FARKAS 10a42de64f
standard library: add log commands (#8448)
# Description

```nushell
log critical "this is a critical message"
log error "this is an error message"
log warning "this is a warning message"
log info "this is an info message"
log debug "this is a debug message"
```


![image](https://user-images.githubusercontent.com/282320/225071852-1ddf0e87-d12b-452d-9598-5122df7123ab.png)

# Tests + Formatting

Tests are written. To run automatically, #8443 needs to be merged before
or after this PR.

---------

Co-authored-by: Mate Farkas <Mate.Farkas@oneidentity.com>
2023-03-18 08:19:54 -05:00

40 lines
1.1 KiB
Plaintext

use std.nu *
def run [system_level, message_level] {
cd $env.FILE_PWD
do {
nu -c $'use std.nu; NU_LOG_LEVEL=($system_level) std log ($message_level) "test message"'
} | complete | get -i stderr
}
def "assert no message" [system_level, message_level] {
let output = (run $system_level $message_level)
assert eq $output ""
}
def "assert message" [system_level, message_level, message_level_str] {
let output = (run $system_level $message_level)
assert ($output | str contains $message_level_str)
assert ($output | str contains "test message")
}
export def test_critical [] {
assert no message 99 critical
assert message CRITICAL critical CRIT
}
export def test_error [] {
assert no message CRITICAL error
assert message ERROR error ERROR
}
export def test_warning [] {
assert no message ERROR warning
assert message WARNING warning WARN
}
export def test_info [] {
assert no message WARNING info
assert message INFO info INFO
}
export def test_debug [] {
assert no message INFO debug
assert message DEBUG debug DEBUG
}