Logging¶
Overview¶
A simple application that demonstrates use of logging subsystem. It demonstrates main features: severity levels, timestamping, module level filtering and instance level filtering. It also showcases logging capabilities in terms of performance.
Building and Running¶
This project outputs multiple log message to the console. It can be built and executed on QEMU as follows:
cd $ZEPHYR_BASE/samples/subsys/logging/logger
mkdir build && cd build
cmake -GNinja -DBOARD=qemu_x86 ..
ninja run
Sample Output¶
Module logging showcase.
[00:00:00.000,122] <info> foo: log in test_module 11
Disabling logging in the foo module
Function called again but with logging disabled.
Instance level logging showcase.
[00:00:00.000,274] <info> sample_instance.inst1: counter_value: 0
[00:00:00.000,274] <warn> sample_instance.inst1: Example of hexdump:
[00:00:00.000,305] <warn> sample_instance.inst1: 01 02 03 04 |....
[00:00:00.000,305] <info> sample_instance.inst2: counter_value: 0
[00:00:00.000,305] <warn> sample_instance.inst2: Example of hexdump:
[00:00:00.000,305] <warn> sample_instance.inst2: 01 02 03 04 |....
Changing filter to warning on sample_instance.inst1 instance.
[00:00:00.000,396] <warn> sample_instance.inst1: Example of hexdump:
[00:00:00.000,427] <warn> sample_instance.inst1: 01 02 03 04 |....
[00:00:00.000,427] <info> sample_instance.inst2: counter_value: 1
[00:00:00.000,427] <warn> sample_instance.inst2: Example of hexdump:
[00:00:00.000,427] <warn> sample_instance.inst2: 01 02 03 04 |....
Disabling logging on both instances.
Function call on both instances with logging disabled.
Severity levels showcase.
[00:00:00.000,610] <err> main: Error message example.
[00:00:00.000,610] <warn> main: Warning message example.
[00:00:00.000,610] <info> main: Info message example.
Logging performance showcase.
[00:00:00.134,887] <info> main: performance test - log message 0
[00:00:00.134,887] <info> main: performance test - log message 1
[00:00:00.134,887] <info> main: performance test - log message 2
[00:00:00.134,887] <info> main: performance test - log message 3
[00:00:00.134,887] <info> main: performance test - log message 4
[00:00:00.134,887] <info> main: performance test - log message 5
[00:00:00.134,887] <info> main: performance test - log message 6
[00:00:00.134,918] <info> main: performance test - log message 7
[00:00:00.134,918] <info> main: performance test - log message 8
[00:00:00.134,918] <info> main: performance test - log message 9
[00:00:00.134,918] <info> main: performance test - log message 10
[00:00:00.134,918] <info> main: performance test - log message 11
[00:00:00.134,918] <info> main: performance test - log message 12
[00:00:00.134,918] <info> main: performance test - log message 13
[00:00:00.134,948] <info> main: performance test - log message 14
Estimated logging capabilities: 245760 messages/second