[genivi-dlt] Issue while capturing syslogs in dlt-viewer and also not able to see dlt_log() in the viewer

amber bhardwaj amber.bhardwaj10 at gmail.com
Tue Feb 7 02:10:19 EST 2017


Hi Christoph,



DLT Version        - v2.16.0

Linux Version     -  Linux version 3.13.0-108-generic (buildd at lgw01-60)
(gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #155-Ubuntu SMP Wed
Jan 11 16:58:52 UTC 2017



As I discussed, I am facing issue to capture syslogs in dlt_viewer and also
issue with dlt_log(), DLT_LOG() while filtering the logs.



Here I am showing two file one is dlt-system for configuring the syslog and
another is my source file which is using API and Macro interface for
logging.



Points :

1.       What are the things I need to enable while building dlt daemon ?
As per my understanding I need to build with -D WITH_SYSTEMD option to
enable syslogs.

2.       If you check the souce file, I am setting the log level using api
interface provided by dlt. So after that I am getting filtered logs
according to my log level (below and equal to should come). These logs are
coming on console only and I am not able to see logs on dlt_viewer which I
have taken via dlt_log().

3.       I am getting logs which are generated via *DLT_LOG() *on dlt_viwer
but when I try to set log level manually(using *set_log_level()*) that time
only log taken through dlt_log() are filtered not *DLT_LOG().*





*Cmake Configuration*



Build for Version 2.16.0 build v2.16.0 version state STABLE

-- WITH_SYSTEMD = OFF

-- WITH_SYSTEMD_WATCHDOG = OFF

-- WITH_SYSTEMD_JOURNAL = OFF

-- WITH_DOC = OFF

-- WITH_MAN = ON

-- WTIH_DLT_ADAPTOR = ON

-- WITH_DLT_CONSOLE = ON

-- WITH_DLT_EXAMPLES = ON

-- WITH_DLT_SYSTEM = ON

-- WITH_DLT_DBUS = ON

-- WITH_DLT_TESTS = ON

-- WITH_DLT_UNIT_TESTS = OFF

-- WITH_DLT_SHM_ENABLE = OFF

-- WITH_DLTTEST = OFF

-- WITH_DLT_CXX11_EXT = OFF

-- WITH_DLT_COREDUMPHANDLER = OFF

-- WITH_DLT_KPI = ON

-- WITH_CHECK_CONFIG_FILE = OFF

-- WITH_TESTSCRIPTS = OFF

-- WITH_GPROF = OFF

-- WITH_DLT_USE_IPv6 = ON

-- DLT_USER = genivi

-- BUILD_SHARED_LIBS = ON

-- TARGET_CPU_NAME =

-- CMAKE_INSTALL_PREFIX = /usr/local

-- CMAKE_BUILD_TYPE = RelWithDebInfo

-- CMAKE_HOST_SYSTEM_PROCESSOR = x86_64

-- CMAKE_SYSTEM_PROCESSOR = x86_64

-- WITH_DLT_LOGSTORAGE_CTRL_UDEV = OFF

-- WITH_DLT_LOGSTORAGE_CTRL_PROP = OFF

-- Change a value with: cmake -D<Variable>=<Value>

-- 
-------------------------------------------------------------------------------

-- 

-- Configuring done

-- Generating done



*dlt-system.conf*



# Configuration file of DLT system manager

#



########################################################################

# General configuration

########################################################################



# The application Id used for the System manager (Default: SYS)

ApplicationId = SYS



########################################################################

# Shell configuration

########################################################################



# Be careful when you enable this feature. The user can send any kind of

# shell commands. The commands are executed with the rights of the

# dlt-system process. Dlt-system is started by default as user genivi.



# Enable the Shell for command line injections (Default: 0)

ShellEnable = 0



########################################################################

# Syslog Adapter configuration

########################################################################



# Enable the Syslog Adapter (Default: 0)

SyslogEnable = 1



# The Context Id of the syslog adapter (Default: SYSL)

SyslogContextId = SYSL



# The UDP port opened by DLT system mamager to receive system logs
(Default: 47111)

SyslogPort = 47111



########################################################################

# Systemd Journal Adapter configuration

########################################################################



# This feature is only available, when dlt is compiled with

# the option "WITH_SYSTEMD_JOURNAL"



# Dlt-system is started by default as user genivi, see dlt-system.service
file.

# The user genivi must be added to one of the groups 'adm', 'wheel' or

# 'systemd-journal' to have access to all journal entries.



# Enable the Systemd Journal Adapter (Default: 0)

JournalEnable = 0



# The Context Id of the journal adapter (Default: JOUR)

JournalContextId = JOUR



# Show only log entries of current boot and follow (Default: 1)

# if not JournalCurrentBoot and not JournalFollow is set all

# persistent journal entries will be logged

JournalCurrentBoot = 1



# Show only the last 10 entries and follow (Default: 0)

JournalFollow = 0



# Map the log levels (Default: 1)

# Mapping journal log levels to DLT log levels

# 0       Emergency                            DLT_LOG_FATAL

# 1       Alert                                         DLT_LOG_FATAL

# 2       Critical                      DLT_LOG_FATAL

# 3       Error                                         DLT_LOG_ERROR

# 4       Warning                  DLT_LOG_WARN

# 5       Notice                      DLT_LOG_INFO

# 6       Informational DLT_LOG_INFO

# 7       Debug                      DLT_LOG_DEBUG

JournalMapLogLevels = 1



########################################################################

# Filetransfer Manager

########################################################################



# Enable the Filetransfer (Default: 0)

FiletransferEnable = 0



# The Context Id of the filetransfer (Default: FILE)

FiletransferContextId = FILE



# Time in seconds after startup of dlt-system when first file is transfered
(Default: 0)

FiletransferTimeStartup = 0



# Time to wait when transfered file is deleted and next file transfer
starts (Default: 10)

# Time in seconds

FiletransferTimeDelay = 10



# Time in ms seconds to wait between two file transfer logs of a single
file to DLT.  (Default: 10)

FiletransferTimeoutBetweenLogs = 5



# You can define multiple file transfer directories

# Define the directory to watch, whether to compress

# the file with zlib and the zlib compression level

# For parsing purposes, FiletransferCompressionLevel

# must be the last one of three values.

# For compressing and sending following subdirectories are used:
.tocompress and .tosend

FiletransferDirectory = /var/dlt/ft1

FiletransferCompression = 1

FiletransferCompressionLevel = 5



# Second directory to watch

FiletransferDirectory = /var/dlt/ft2

FiletransferCompression = 0

FiletransferCompressionLevel = 5



# And so on...

FiletransferDirectory = /var/dlt/ft3

FiletransferCompression = 0

FiletransferCompressionLevel = 5





########################################################################

# Log short files, especially from proc filesystem

########################################################################



# Enable the logging of files (Default: 0)

LogFileEnable = 0



# Log different files

# Mode: 0 = off, 1 = startup only, 2 = regular

# TimeDelay: If mode regular is set, time delay is the number of seconds
for next sent



# Log the file /etc/sysrel

LogFileFilename = /etc/sysrel

LogFileMode = 1

LogFileTimeDelay = 3

LogFileContextId = VER



# Log the file /proc/version

LogFileFilename = /proc/version

LogFileMode = 1

LogFileTimeDelay = 2

LogFileContextId = VERK



# Log the file /proc/meminfo

LogFileFilename = /proc/meminfo

LogFileMode = 2

LogFileTimeDelay = 6

LogFileContextId = MEM



# Log the file /proc/cpuinfo

# LogFileFilename = /proc/cpuinfo

# LogFileMode = 2

# LogFileTimeDelay = 5

# LogFileContextId = CPU



# Log the file /proc/stat

# LogFileFilename = /proc/stat

# LogFileMode = 2

# LogFileTimeDelay = 1

# LogFileContextId = STAT



# Log the file /proc/modules

# LogFileFilename = /proc/modules

# LogFileMode = 2

# LogFileTimeDelay = 5

# LogFileContextId = MOD



# Log the file /proc/ioports

# LogFileFilename = /proc/ioports

# LogFileMode = 1

# LogFileTimeDelay = 5

# LogFileContextId = IOP



# Log the file /proc/iomem

# LogFileFilename = /proc/iomem

# LogFileMode = 1

# LogFileTimeDelay = 5

# LogFileContextId = IOM



########################################################################

# Log Processes

########################################################################



# Enable the logging of processes (Default: 0)

LogProcessesEnable = 0



# The Context Id of the kernel version (Default: PROC)

LogProcessesContextId = PROC



# Log different processes

# Name: * = all process, X=alternative name (must correspind to
/proc/X/cmdline

# Filename: the filename in the subdirectory /proc/processid/

# Mode: 0 = off, 1 = startup only, 2 = regular

# TimeDelay: If mode regular is set, time delay is the number of seconds
for next sent



LogProcessName = *

LogProcessFilename = stat

LogProcessMode = 2

LogProcessTimeDelay = 5



# LogProcessName = dlt_viewer

# LogProcessFilename = stat

# LogProcessMode = 2

# LogProcessTimeDelay = 1





*Source file: *



*void DLTLogLevelStubImpl::logLevel(*const
std::shared_ptr<CommonAPI::ClientId> _client, std::string _name,
logLevelReply_t _reply) {

    std::stringstream messageStream;

    messageStream << "LogLevel " << _name << "!";

    std::cout << "returnLogLevel(" << _name << "): " << messageStream.str()
<< "\n";

    int loglevel = std::stoi(_name );

    std::cout << "STUB_IMPL: Log Level = "<< loglevel<< "\n";



   DLT_DECLARE_CONTEXT(con_exa1);



    DLT_REGISTER_APP("EXA1","DLTLogLevelStubImpl");



                DLT_REGISTER_CONTEXT(con_exa1,"CON","DLTLogLevelStubImpl
context");



                *DLT_LOG*(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_LOG_INFO
Hello world! FIDL"));

                *DLT_LOG(*con_exa1,DLT_LOG_FATAL,DLT_STRING("DLT_LOG_FATAL
Hello world! FIDL"));

                *DLT_LOG(*con_exa1,DLT_LOG_ERROR,DLT_STRING("2
DLT_LOG_ERROR Hello world! FIDL"));

                *DLT_LOG(*con_exa1,DLT_LOG_WARN,DLT_STRING("DLT_LOG_WARN
Hello world! FIDL"));

                *DLT_LOG(*con_exa1,DLT_LOG_DEBUG,DLT_STRING("DLT_LOG_DEBUG
Hello world! FIDL"));

                *DLT_LOG(*con_exa1,DLT_LOG_VERBOSE,DLT_STRING("DLT_LOG_VERBOSE
Hello world! FIDL"));

//DltDaemon *daemon;

//int ret = dlt_daemon_logstorage_setup_internal_storage(NULL,
"/home/yoctoadm/Shivam/DLTTestLog.txt", 1);

//                std::cout << "DLTTest ret = "<< ret<< "\n";

/*

 * Enable this conditional compilation to store the logs in file

 * 0 = log to stdout, 1 = log to syslog, 2 = log to file

 * DLT_LOG_TO_CONSOLE, DLT_LOG_TO_SYSLOG, DLT_LOG_TO_FILE

*/





char version[255];



dlt_get_version(version,255);

std::cout << "STUB_IMPL: Version = "<< version<< "\n";





#if 1

        *dlt_log(*6, "Testing DLT Client Log flow-6 ....!!!!\n");

        *dlt_log(*5, "Testing DLT Client Log flow-5 ....!!!!\n");

        *dlt_log(*4, "Testing DLT Client Log flow-4 ....!!!!\n");

        *dlt_log(*3, "Testing DLT Client Log flow-3 ....!!!!\n");

        *dlt_log(*2, "Testing DLT Client Log flow-2 ....!!!!\n");

        *dlt_log(*1, "Testing DLT Client Log flow-1 ....!!!!\n");

        std::cout << "##################### END of Default = 6
#########################"<<"\n";

#endif



#if 1

dlt_log_set_level(3);

        *dlt_log(*6, "Testing 3 DLT Client Log flow-6 ....!!!!\n");

        *dlt_log(*5, "Testing 3 DLT Client Log flow-5 ....!!!!\n");

        *dlt_log(*4, "Testing 3 DLT Client Log flow-4 ....!!!!\n");

        *dlt_log(*3, "Testing 3 DLT Client Log flow-3 ....!!!!\n");

        *dlt_log(*2, "Testing 3 DLT Client Log flow-2 ....!!!!\n");

        *dlt_log(*1, "Testing 3 DLT Client Log flow-1 ....!!!!\n");

        std::cout << "##################### END of default = 3
#########################"<<"\n";



dlt_log_set_level(2);

        *dlt_log(*6, "Testing 2 DLT Client Log flow-6 ....!!!!\n");

        *dlt_log(*5, "Testing 2 DLT Client Log flow-5 ....!!!!\n");

        *dlt_log(*4, "Testing 2 DLT Client Log flow-4 ....!!!!\n");

        *dlt_log(*3, "Testing 2 DLT Client Log flow-3 ....!!!!\n");

        *dlt_log(*2, "Testing 2 DLT Client Log flow-2 ....!!!!\n");

        *dlt_log(*1, "Testing 2 DLT Client Log flow-1 ....!!!!\n");

        std::cout << "##################### END of default = 2
#########################"<<"\n";



#endif





                /* Added for testing purpose*/

//            *DLT_LOG(*con_exa1,DLT_LOG_ERROR,DLT_INT(5),DLT_STRING("3
:This is a error"));

//            *DLT_LOG(*con_exa1,DLT_LOG_INFO,DLT_STRING("3 :But this"));

//            *DLT_LOG(*con_exa1,DLT_LOG_DEBUG,DLT_INT(5),DLT_STRING("3
:But this only information"));



        usleep(1000);



//            dlt_log_set_level(17);  // DEBUG

 //      dlt_log_set_level(-1);  // WARN DLT_LOG_OFF

//            usleep(1000);



  //     *DLT_LOG(*con_exa1,DLT_LOG_DEFAULT,DLT_INT(loglevel));

                /* Added for testing purpose*/

//            *DLT_LOG(*con_exa1,DLT_LOG_ERROR,DLT_INT(5),DLT_STRING("6
:This is a error"));

//            *DLT_LOG(*con_exa1,DLT_LOG_INFO,DLT_INT(5),DLT_STRING("6 :But
this only information"));

//            *DLT_LOG(*con_exa1,DLT_LOG_DEBUG,DLT_STRING("6 :But this"));



                usleep(1000);



#ifdef _LOG_TO_XYZ



                dlt_log_free();

#endif



                DLT_UNREGISTER_CONTEXT(con_exa1);



                DLT_UNREGISTER_APP();





    _reply(messageStream.str());

};



Thanks and Regards,

Amber Bhardwaj




On Tue, Feb 7, 2017 at 1:30 AM, <
genivi-diagnostic-log-and-trace-request at lists.genivi.org> wrote:

> Send genivi-diagnostic-log-and-trace mailing list submissions to
>         genivi-diagnostic-log-and-trace at lists.genivi.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://lists.genivi.org/mailman/listinfo/genivi-
> diagnostic-log-and-trace
>
> or, via email, send a message with subject or body 'help' to
>         genivi-diagnostic-log-and-trace-request at lists.genivi.org
>
> You can reach the person managing the list at
>         genivi-diagnostic-log-and-trace-owner at lists.genivi.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of genivi-diagnostic-log-and-trace digest..."
>
>
> Today's Topics:
>
>    1. Re: Issue while capturing syslogs in dlt-viewer and also not
>       able to see dlt_log() in the viewer (Lipka, Christoph (ADITJ/SWG))
>    2. Re: Issue while capturing syslogs in dlt-viewer and also not
>       able to see dlt_log() in the viewer (Lipka, Christoph (ADITJ/SWG))
>    3. DLT Question: [please add subject] (Habenicht, Hans)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Mon, 6 Feb 2017 04:31:00 +0000
> From: "Lipka, Christoph (ADITJ/SWG)" <clipka at jp.adit-jv.com>
> To: "genivi-diagnostic-log-and-trace at lists.genivi.org"
>         <genivi-diagnostic-log-and-trace at lists.genivi.org>,
>         "genivi-diagnostic-log-and-trace at mailman1.genivi.org"
>         <genivi-diagnostic-log-and-trace at mailman1.genivi.org>
> Subject: Re: [genivi-dlt] Issue while capturing syslogs in dlt-viewer
>         and also not able to see dlt_log() in the viewer
> Message-ID:
>         <B63DFC502E5CF24DB70737388130C5910C6C793E at ky0exch01.adit-jv.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hi,
>
> I try to answer your questions. Could you please let me know which version
> you are using (also OS)
>
> 1. There seems to be a problem. As I wrote in last mail, I facing issues
> to set it up like you. In a system running systemd you should use journal
> bridge for this. I am not sure if anyone is using syslog directly.
> 2. / 3, Actually, I do not really understand what you do. May you send
> your example program? This might help to identify what you are doing. But
> all in all, there is no difference when using DLT_LOG or dlt_log.
>
> Best regards
>
> Christoph Lipka
> Software Group (ADITJ/SWG)
>
> Tel. +81-(0)566 61-5124
>
>
> -----Original Message-----
> From: genivi-diagnostic-log-and-trace [mailto:genivi-diagnostic-log-
> and-trace-bounces at lists.genivi.org] On Behalf Of amber bhardwaj
> Sent: Sunday, February 05, 2017 5:08 AM
> To: genivi-diagnostic-log-and-trace at lists.genivi.org;
> genivi-diagnostic-log-and-trace at mailman1.genivi.org
> Subject: [genivi-dlt] Issue while capturing syslogs in dlt-viewer and also
> not able to see dlt_log() in the viewer
>
> Hi All,
>
> I have built dlt-daemon in my local system and trying to test some of the
> feature to understand the working internally.
>
> I tried to many things to redirects the log but not able to do. I also
> don't know whom to discussed so i have few queries; can you please help me
> out :
>
>                1. Transferring syslogs to dlt-system is an official issue?
> I mean to say that any task or bug id is defined for this issue in dlt
> public JIRA <https://at.projects.genivi.org/jira/projects/DLT/issues/
> DLT-1?filter=
> allopenissueshttps://at.projects.genivi.org/jira/
> projects/DLT/issues/DLT-1?
> filter=allopenissues>;
> if it is a bug ?
>
>                2. I am using macro interface *DLT_LOG()* and API interface
> *dlt_log()* to store the logs. But when i change the log level through
> *dlt_log_set_level()* then i am only able to                        filter
> logs generated through *dlt_log()*. I am not able to filter logs which are
> generated through *DLT_LOG()* macro interface.
>
>                3. If i am logging via API interface using *dlt_log()* then
> i am not able to see logs in *dlt_viewer* but if i use *DLT_LOG()* macro
> interface for my logging then i can see logs in *dlt_viewer*. So i have a
> doubt here that *dlt_log_set_level()* can only filter the logs which are
> generated via *dlt_log()* and the macro interface
> *DLT_LOG()* is only                                dedicated to
> *dlt_viewer*
> and you can't filter logs generated via macro interface.
>
> If i am wrong somewhere then please guide me.
>
> --
> Thanks and Regards,
>
> Amber Bhardwaj
>
>
> *Work:* +91-89 51 188468
> *Email:* amber.bhardwaj10 at gmail.com
> *Catch me on : *LinkedIn <https://in.linkedin.com/in/amberbhardwaj>
> _______________________________________________
> 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
>
> ------------------------------
>
> Message: 2
> Date: Mon, 6 Feb 2017 04:31:00 +0000
> From: "Lipka, Christoph (ADITJ/SWG)" <clipka at jp.adit-jv.com>
> To: "genivi-diagnostic-log-and-trace at lists.genivi.org"
>         <genivi-diagnostic-log-and-trace at lists.genivi.org>,
>         "genivi-diagnostic-log-and-trace at mailman1.genivi.org"
>         <genivi-diagnostic-log-and-trace at mailman1.genivi.org>
> Subject: Re: [genivi-dlt] Issue while capturing syslogs in dlt-viewer
>         and also not able to see dlt_log() in the viewer
> Message-ID:
>         <B63DFC502E5CF24DB70737388130C5910C6C793E at ky0exch01.adit-jv.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hi,
>
> I try to answer your questions. Could you please let me know which version
> you are using (also OS)
>
> 1. There seems to be a problem. As I wrote in last mail, I facing issues
> to set it up like you. In a system running systemd you should use journal
> bridge for this. I am not sure if anyone is using syslog directly.
> 2. / 3, Actually, I do not really understand what you do. May you send
> your example program? This might help to identify what you are doing. But
> all in all, there is no difference when using DLT_LOG or dlt_log.
>
> Best regards
>
> Christoph Lipka
> Software Group (ADITJ/SWG)
>
> Tel. +81-(0)566 61-5124
>
>
> -----Original Message-----
> From: genivi-diagnostic-log-and-trace [mailto:genivi-diagnostic-log-
> and-trace-bounces at lists.genivi.org] On Behalf Of amber bhardwaj
> Sent: Sunday, February 05, 2017 5:08 AM
> To: genivi-diagnostic-log-and-trace at lists.genivi.org;
> genivi-diagnostic-log-and-trace at mailman1.genivi.org
> Subject: [genivi-dlt] Issue while capturing syslogs in dlt-viewer and also
> not able to see dlt_log() in the viewer
>
> Hi All,
>
> I have built dlt-daemon in my local system and trying to test some of the
> feature to understand the working internally.
>
> I tried to many things to redirects the log but not able to do. I also
> don't know whom to discussed so i have few queries; can you please help me
> out :
>
>                1. Transferring syslogs to dlt-system is an official issue?
> I mean to say that any task or bug id is defined for this issue in dlt
> public JIRA <https://at.projects.genivi.org/jira/projects/DLT/issues/
> DLT-1?filter=
> allopenissueshttps://at.projects.genivi.org/jira/
> projects/DLT/issues/DLT-1?
> filter=allopenissues>;
> if it is a bug ?
>
>                2. I am using macro interface *DLT_LOG()* and API interface
> *dlt_log()* to store the logs. But when i change the log level through
> *dlt_log_set_level()* then i am only able to                        filter
> logs generated through *dlt_log()*. I am not able to filter logs which are
> generated through *DLT_LOG()* macro interface.
>
>                3. If i am logging via API interface using *dlt_log()* then
> i am not able to see logs in *dlt_viewer* but if i use *DLT_LOG()* macro
> interface for my logging then i can see logs in *dlt_viewer*. So i have a
> doubt here that *dlt_log_set_level()* can only filter the logs which are
> generated via *dlt_log()* and the macro interface
> *DLT_LOG()* is only                                dedicated to
> *dlt_viewer*
> and you can't filter logs generated via macro interface.
>
> If i am wrong somewhere then please guide me.
>
> --
> Thanks and Regards,
>
> Amber Bhardwaj
>
>
> *Work:* +91-89 51 188468
> *Email:* amber.bhardwaj10 at gmail.com
> *Catch me on : *LinkedIn <https://in.linkedin.com/in/amberbhardwaj>
> _______________________________________________
> 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
>
> ------------------------------
>
> Message: 3
> Date: Mon, 6 Feb 2017 15:37:08 +0000
> From: "Habenicht, Hans" <hans.habenicht at harman.com>
> To: "genivi-diagnostic-log-and-trace at lists.genivi.org"
>         <genivi-diagnostic-log-and-trace at lists.genivi.org>
> Subject: [genivi-dlt] DLT Question: [please add subject]
> Message-ID:
>         <cbf6df1081c2452fbd627bc7a8200e4a at HIMDWSMB08.ad.harman.com>
> Content-Type: text/plain; charset="us-ascii"
>
>
> Please keep version information in mail:
> DLT Version: 2.17.0-STABLE
> Build Date: Apr 21 2016-21:36:40
> Qt Version: 5.6.0
>
> Dear Genivi,
>
> does the DLT-Viewer understand the IPv6-protocoll?
>
> Best regards, Hans Habenicht
>
>
>
> Harman Becker Automotive Systems GmbH
> Sitz der Gesellschaft: Karlsbad
> Amtsgericht Mannheim: HRB-Nr. 361395
> Gesch?ftsf?hrung: Michael Mauser, Dr. Udo H?ls
> Vorsitzender des Aufsichtsrats: Dr. Frank Groth
>
>
>
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> 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
>
> ------------------------------
>
> End of genivi-diagnostic-log-and-trace Digest, Vol 52, Issue 6
> **************************************************************
>



-- 
Thanks and Regards,

Amber Bhardwaj


*Work:* +91-89 51 188468
*Email:* amber.bhardwaj10 at gmail.com
*Catch me on : *LinkedIn <https://in.linkedin.com/in/amberbhardwaj>



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