[genivi-dlt] DLT daemon log level usage?

Lipka, Christoph (ADITG/ESA) clipka at de.adit-jv.com
Fri May 19 06:41:32 EDT 2017


> 
> Thanks, this really clears things up.
> It would be nice if it were added to the docs.

@Lutz: Maybe you can add your notes somewhere? Would be great.
 
> 
> I'm still unsure how to deal with process using forks / process having
> different PIDs but using same APID/CTIDS. While logging works fine for those
> processes, it seems that control messages don't.
> I'll spend some more time looking for it, if anyone has some hint of how to
> handle processes using fork it would be nice to share the info too. Thanks!

Better to register applications (DLT_REGISTER_APP) after fork (even if there have been made some improvements on that, I have to recheck current status). 
It is currently not possible to have the same APID used in multiple processes. The daemon assumes the old application is "dead" and overwrites pid and fd for the user pipe. You will see logs of both applications, but you are only able to control the second one. That currently really a drawback. We have a similar use case.
 

> On Fri, May 19, 2017 at 6:41 PM, Helwing, Lutz <Lutz_Helwing at mentor.com>
> wrote:
> > Hi,
> >
> > a while ago i had to deal with the log levels and wrote a short text
> > file (see attachment) about it. Maybe this provides some additional
> > help in understanding DLT log levels. Any improvements or additions
> > welcome ;-)
> >
> > Kind regards
> > Lutz
> >
> > On 19.05.2017 08:48, Lipka, Christoph (ADITG/ESA) wrote:
> >> Hi,
> >>
> >>> What does this implies since "This is a error" log log level is
> >>> already at DLT_LOG_ERROR? The meaning of DLT_LOG_VERBOSE is lost?
> >>> I don't understand the use of dlt-control -l, sorry.
> >>>
> >>> If we can already set a log level when using DLT_LOG, what is the
> >>> point of using dlt-control?
> >>> I'm missing something I guess.
> >>
> >> You can think about the current log level set in the library as a filter.
> >> E.g. if INFO is set in library and you have logs in your code:
> >> DLT_LOG(INFO, ...)
> >> DLT_LOG(ERROR,...)
> >> DLT_LOG(VERBOSE,...)
> >>
> >> The first two messages are forwarded to the daemon, the third message
> not. If you want to have VERBOSE messages also, you have to update the log
> level for the context to VERBOSE using the control application.
> >>
> >>> Thanks again for the help!
> >>>
> >>>
> >>> BTW the doc is nice, thanks, and:
> >>>
> >>> $ cmake ../ -DWITH_DOC=ON
> >>> [...]
> >>> $ make -j8  2>&1 | grep FAILED
> >>> [ 98%] [100%] asciidoc: FAILED: input file /home/obigo/opt/tmp/dlt-
> >>> daemon/README missing $ cd ../ & cp README.md README && cd
> build $
> >>> make -j8 [ works fine ]
> >>
> >> Oh interesting. That need to be fixed. If you like, you can provide a
> >> patch. I guess it is just a one line change in one script :-)
> >>
> >>> On Fri, May 19, 2017 at 2:02 PM, Lipka, Christoph (ADITG/ESA)
> >>> <clipka at de.adit-jv.com> wrote:
> >>>> Hi,
> >>>>
> >>>>> I'm new to DLT and the features are quite nice - thanks for
> >>>>> providing this to us!
> >>>>
> >>>> Good to hear this.
> >>>>
> >>>>> I have a question regarding log level setting in dlt daemon.
> >>>>>
> >>>>>
> >>>>> I saw that the dlt-control program could accept the -l option to
> >>>>> set a given log level. I don't understand how this can be effectively
> used.
> >>>>>
> >>>>>  From what I got reading the source code, it calls the function
> >>>>> "dlt_daemon_send_log_level" which calls
> >>>>> "dlt_daemon_user_send_log_level" and
> >>>>> "dlt_daemon_control_service_response".
> >>>>> - the second is just to acknowledge dlt-control that the log level
> >>>>> has been set effectively.
> >>>>> - the first one logs to FIFO (i.e to the application sending the
> >>>>> logs do the client, the application who called  DLT_REGISTER_APP)
> >>>>> (src/daemon/dlt_daemon_common.c:1156)
> >>>>>
> >>>>> Is this correct?
> >>>>>
> >>>>> If I understood correctly, this means if we we want to use
> >>>>> dlt-control, we need to implement a response to
> >>>>> dlt_daemon_user_send_log_level (after calling DLT_REGISTER_APP) to
> >>>>> only send the right amount of log to dlt daemon afterward? Is
> >>>>> there any doc for this, could you point me out to some
> >>> reference/function/source file please?
> >>>>
> >>>> After you registered your application id (e.g. "APP") and context id (e.g.
> >>> "CON") in your application, you can use dlt-control application to
> >>> change the log level:
> >>>> dlt-control -a APP -c CON -l 6 (for verbose level)
> >>>>
> >>>> There is no need to add any code inside your application, the log
> >>>> level is
> >>> changed automatically. BTW: The initial log level is INFO. If you
> >>> need another log level directly on application start, you can use an
> >>> environment variable, e.g. export DLT_INITIAL_LOG_LEVEL=”APP:CON:6”
> >>>>
> >>>> If you want your application to execute specific functionality when
> >>>> log level
> >>> is changed, you can register a callback function:
> >>>> DLT_REGISTER_LOG_LEVEL_CHANGED_CALLBACK(CONTEXT, CALLBACK)
> >>>>
> >>>>> I couldn't find any doc/reference about it. Did I miss something?
> >>>>
> >>>> You can build documentation by adding "WITH_DOC=ON" when calling
> >>> cmake, e.g. cmake .. -DWITH_DOC=ON. You may have to install some
> >>> dependent packages.
> >>>>
> >>>>   > Thanks for the help!
> >>>>
> >>>> Hope that helps.
> >>>>
> >>>> Best Regards,
> >>>> Christoph
> >>>>
> >>>> _______________________________________________
> >>>> genivi-diagnostic-log-and-trace mailing list
> >>>> genivi-diagnostic-log-and-trace at lists.genivi.org
> >>>> http://lists.genivi.org/mailman/listinfo/genivi-diagnostic-log-and-
> >>>> trace
> >> _______________________________________________
> >> genivi-diagnostic-log-and-trace mailing list
> >> genivi-diagnostic-log-and-trace at lists.genivi.org
> >> http://lists.genivi.org/mailman/listinfo/genivi-diagnostic-log-and-tr
> >> ace
> >>
> >
> > --
> > Mentor A Siemens Business
> >
> > Lutz Helwing, Senior Engineer, Mentor Embedded Mentor Graphics
> > Development (Deutschland) GmbH, Arnulfstrasse 201, 80634 Muenchen,
> > Germany Lutz_Helwing at mentor.com | office: +49(89)57096-297
> >
> > http://www.mentor.com
> >
> > Mentor Graphics Development (Deutschland) GmbH
> > Geschaeftsfuehrung: Dean Freed, Walter Vermijs, Shannon Wetzel
> >
> > Handelsregister: Amtsgericht Freiburg i.Br., HRB 705237 Sitz der
> > Gesellschaft: Peterzeller Strasse 8, 78048 Villingen-Schwenningen
> > USt-Id Nummer: DE268786819
> >
> > Confidentiality Notice: This e-mail message, including any
> > attachments, is for the sole use of the intended recipient(s) and may
> > contain confidential and privileged information. Any unauthorized
> > review, use, disclosure or distribution is prohibited. If you are not
> > the intended recipient, please contact the sender by return e-mail and
> > destroy all copies of the original message.
> >
> > _______________________________________________
> > genivi-diagnostic-log-and-trace mailing list
> > genivi-diagnostic-log-and-trace at lists.genivi.org
> > http://lists.genivi.org/mailman/listinfo/genivi-diagnostic-log-and-tra
> > ce
> _______________________________________________
> genivi-diagnostic-log-and-trace mailing list genivi-diagnostic-log-and-
> trace at lists.genivi.org
> http://lists.genivi.org/mailman/listinfo/genivi-diagnostic-log-and-trace


More information about the genivi-diagnostic-log-and-trace mailing list