libtracecmd(3)
=============

NAME
----
tracecmd_set_loglevel - Set log level of the library

SYNOPSIS
--------
[verse]
--
*#include <trace-cmd.h>*

int *tracecmd_set_loglevel*(enum tep_loglevel _level_);
--

DESCRIPTION
-----------
The _tracecmd_set_loglevel()_ function sets the level of the library logs that will be printed on
the console. See _libtraceevent(3)_ for detailed desciription of the log levels. Setting the log
level to specific value means that logs from the previous levels will be printed too. For example
_TEP_LOG_WARNING_ will print any logs with severity _TEP_LOG_WARNING_, _TEP_LOG_ERROR_ and
_TEP_LOG_CRITICAL_. The default log level is _TEP_LOG_CRITICAL_.  When a new level is set, it is
also propagated to the libtracefs and libtraceevent.

EXAMPLE
-------
[source,c]
--
#include <trace-cmd.h>
...
tracecmd_set_loglevel(TEP_LOG_ALL);
...
/* call libtracecmd, libtracefs or libtraceevent APIs and observe any logs they produce */
...
tracecmd_set_loglevel(TEP_LOG_CRITICAL);
--

FILES
-----
[verse]
--
*trace-cmd.h*
	Header file to include in order to have access to the library APIs.
*-ltracecmd*
	Linker switch to add when building a program that uses the library.
--

SEE ALSO
--------
_libtracefs(3)_,
_libtraceevent(3)_,
_trace-cmd(1)_
_trace-cmd.dat(5)_

AUTHOR
------
[verse]
--
*Steven Rostedt* <rostedt@goodmis.org>
*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>
--
REPORTING BUGS
--------------
Report bugs to  <linux-trace-devel@vger.kernel.org>

LICENSE
-------
libtracecmd is Free Software licensed under the GNU LGPL 2.1

RESOURCES
---------
https://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/

COPYING
-------
Copyright \(C) 2021 VMware, Inc. Free use of this software is granted under
the terms of the GNU Public License (GPL).
