Logging

Browse source code on GitHub

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:

west build -b qemu_x86 samples/subsys/logging/logger
west build -t run

Sample Output

Module logging showcase.
[00:00:00.106,051] <inf> sample_module: log in test_module 11
[00:00:00.106,054] <inf> sample_module: Inline function.
Disabling logging in the sample_module module
Function called again but with logging disabled.
Instance level logging showcase.
[00:00:00.106,200] <inf> sample_instance.inst1: Inline call.
[00:00:00.106,204] <inf> sample_instance.inst1: counter_value: 0
[00:00:00.106,209] <wrn> sample_instance.inst1: Example of hexdump:
01 02 03 04             |....
[00:00:00.106,214] <inf> sample_instance.inst2: Inline call.
[00:00:00.106,218] <inf> sample_instance.inst2: counter_value: 0
[00:00:00.106,223] <wrn> sample_instance.inst2: Example of hexdump:
01 02 03 04             |....
Changing filter to warning on sample_instance.inst1 instance.
[00:00:00.106,297] <wrn> sample_instance.inst1: Example of hexdump:
01 02 03 04             |....
[00:00:00.106,302] <inf> sample_instance.inst2: Inline call.
[00:00:00.106,307] <inf> sample_instance.inst2: counter_value: 1
[00:00:00.106,311] <wrn> sample_instance.inst2: Example of hexdump:
01 02 03 04             |....
Disabling logging on both instances.
Function call on both instances with logging disabled.
String logging showcase.
[00:00:01.122,316] <inf> main: Logging transient string:transient_string
Severity levels showcase.
[00:00:01.122,348] <err> main: Error message example.
[00:00:01.122,352] <wrn> main: Warning message example.
[00:00:01.122,355] <inf> main: Info message example.
Logging performance showcase.
[00:00:02.151,602] <inf> main: performance test - log message 0
Estimated logging capabilities: 42000000 messages/second
Logs from external logging system showcase.
[00:00:03.165,977] <err> ext_log_system: critical level log
[00:00:03.165,991] <err> ext_log_system: error level log, 1 arguments: 1
[00:00:03.166,006] <wrn> ext_log_system: warning level log, 2 arguments: 12
[00:00:03.166,025] <inf> ext_log_system: notice level log, 3 arguments: 105
[00:00:03.166,044] <inf> ext_log_system: info level log, 4 arguments : 1 24

Exit QEMU by pressing CTRL+A x.

See also

Logging API
Logger control API