void gptplogRegister(void) { #ifdef GENIVI_DLT DLT_REGISTER_APP("GPTP","OpenAVB gPTP"); DLT_REGISTER_CONTEXT(dlt_con_gptp, "GNRL", "General Context"); #endif }
void init_shell() { DLT_LOG(dltsystem,DLT_LOG_DEBUG, DLT_STRING("dlt-system-shell, register callback")); DLT_REGISTER_CONTEXT(shellContext,"CMD","Execute Shell commands"); DLT_REGISTER_INJECTION_CALLBACK(shellContext, 0x1001, dlt_shell_injection_callback); }
void register_contexts(LogFileOptions fileopts) { DLT_LOG(dltsystem, DLT_LOG_DEBUG, DLT_STRING("dlt-system-logfile, registering file contexts.")); int i; for(i = 0;i < fileopts.Count;i++) { DLT_REGISTER_CONTEXT(logfileContext[i], fileopts.ContextId[i], fileopts.Filename[i]); } }
joynr_logging::Logger* Logging_dlt::getLogger(const QString& contextId, const QString& className) { QString loggerName = contextId + className; if (!loggers.contains(loggerName)) { QMutexLocker lock(&loggerMutex); if (!loggers.contains(loggerName)) { if (!contextHash.contains(contextId)) { DLT_REGISTER_CONTEXT(contextHash[contextId], contextId.toAscii(), contextId.toAscii()); } loggers.insert(loggerName, new Logger_dlt(contextHash[contextId], className)); } } return loggers.value(loggerName); }
LoggerDLT::LoggerDLT(const char *appid, const char *description) : m_parentLogger(Logger::instance()), m_dltContext(calloc(1, sizeof(DltContext))) { DLT_REGISTER_APP(appid, description); int level = atoi(getEnv("SYNCEVOLUTION_USE_DLT", "-1")); if (level > 0) { DLT_REGISTER_CONTEXT_LL_TS(*(DltContext *)m_dltContext, "SYNC", "SyncEvolution messages", (DltLogLevelType)level, DLT_TRACE_STATUS_OFF); } else { DLT_REGISTER_CONTEXT(*(DltContext *)m_dltContext, "SYNC", "SyncEvolution messages"); } LoggerDLTInstance = this; }
int main() { unsigned char buffer[256]; int num; DLT_REGISTER_APP("EXA4","Fourth Example"); DLT_REGISTER_CONTEXT(con_exa1,"CON","First context"); for(num=0;num<256;num++) { buffer[num] = num; } DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_RAW")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_RAW(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX8")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX8(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX16")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX16(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX32")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX32(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_HEX64")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_HEX64(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_BIN8")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_BIN8(buffer,256)); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_STRING("DLT_BIN16")); DLT_LOG(con_exa1,DLT_LOG_INFO,DLT_BIN16(buffer,256)); usleep(1000); DLT_UNREGISTER_CONTEXT(con_exa1); DLT_UNREGISTER_APP(); }
void filetransfer_thread(void *v_conf) { DLT_LOG(dltsystem, DLT_LOG_DEBUG, DLT_STRING("dlt-system-filetransfer, in thread.")); DltSystemConfiguration *conf = (DltSystemConfiguration *) v_conf; DLT_REGISTER_CONTEXT(filetransferContext, conf->Filetransfer.ContextId, "File transfer manager."); sleep(conf->Filetransfer.TimeStartup); if(init_filetransfer_dirs(&(conf->Filetransfer)) < 0) return; while(!threads.shutdown) { if(wait_for_files(&(conf->Filetransfer)) < 0) { DLT_LOG(dltsystem, DLT_LOG_ERROR, DLT_STRING("Error while waiting files. File transfer shutdown.")); return; } sleep(conf->Filetransfer.TimeDelay); } }
int pclInitLibrary(const char* appName, int shutdownMode) { int rval = 1; pthread_mutex_lock(&gInitMutex); if(gPclInitCounter == 0) { DLT_REGISTER_CONTEXT(gPclDLTContext,"PCL","Context for persistence client library logging"); DLT_LOG(gPclDLTContext, DLT_LOG_DEBUG, DLT_STRING("pclInitLibrary => INIT PCL - "), DLT_STRING(appName), DLT_STRING("- init counter: "), DLT_INT(gPclInitCounter) ); rval = private_pclInitLibrary(appName, shutdownMode); } else { DLT_LOG(gPclDLTContext, DLT_LOG_DEBUG, DLT_STRING("pclInitLibrary - INIT PCL - "), DLT_STRING(gAppId), DLT_STRING("- ONLY INCREMENT init counter: "), DLT_INT(gPclInitCounter) ); } gPclInitCounter++; // increment after private init, otherwise atomic access is too early pthread_mutex_unlock(&gInitMutex); return rval; }
int main(int argc, char* argv[]) { int sock; int bytes_read; socklen_t addr_len; int opt, port; char recv_data[MAXSTRLEN]; struct sockaddr_in client_addr, server_addr; char apid[DLT_ID_SIZE]; char ctid[DLT_ID_SIZE]; char version[255]; dlt_set_id(apid, PU_DLT_APP); dlt_set_id(ctid, PU_DLT_CONTEXT); port = RCVPORT; while ((opt = getopt(argc, argv, "a:c:hp:")) != -1) { switch (opt) { case 'a': { dlt_set_id(apid,optarg); break; } case 'c': { dlt_set_id(ctid,optarg); break; } case 'h': { dlt_get_version(version); printf("Usage: dlt-adaptor-udp [options]\n"); printf("Adaptor for forwarding received UDP messages to DLT daemon.\n"); printf("%s \n", version); printf("Options:\n"); printf("-a apid - Set application id to apid (default: UDPA)\n"); printf("-c ctid - Set context id to ctid (default: UDPC)\n"); printf("-p - Set receive port number for UDP messages (default: %d) \n", port); printf("-h - This help\n"); return 0; break; } case 'p': { port = atoi(optarg); break; } default: /* '?' */ { fprintf(stderr, "Unknown option '%c'\n", optopt); exit(3); } } } if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { perror("Socket"); exit(1); } server_addr.sin_family = AF_INET; server_addr.sin_port = htons(port); server_addr.sin_addr.s_addr = INADDR_ANY; bzero(&(server_addr.sin_zero), 8); if (bind(sock, (struct sockaddr *)&server_addr, sizeof(struct sockaddr)) == -1) { perror("Bind"); return -1; } addr_len = sizeof(struct sockaddr); DLT_REGISTER_APP(apid,PU_DLT_APP_DESC); DLT_REGISTER_CONTEXT(mycontext,ctid,PU_DLT_CONTEXT_DESC); while (1) { bytes_read = 0; bytes_read = recvfrom(sock, recv_data, MAXSTRLEN, 0, (struct sockaddr *)&client_addr, &addr_len); if (bytes_read == -1) { if (errno == EINTR) { continue; } else { DLT_UNREGISTER_CONTEXT(mycontext); DLT_UNREGISTER_APP(); exit(1); } } recv_data[bytes_read] = '\0'; if (bytes_read != 0) { DLT_LOG(mycontext, DLT_LOG_INFO, DLT_STRING(recv_data)); } } DLT_UNREGISTER_CONTEXT(mycontext); DLT_UNREGISTER_APP(); return 0; }
static void *listenForMessages( void *ptr ) { struct sockaddr_in si_me; struct sockaddr_in si_other; socklen_t slen = sizeof(si_other); ssize_t readBytes = 0; char buf[BUFLEN+1]; //add space fer terminating \0 char msgId[MSGIDLEN+1]; //add space fer terminating \0 int port = PORT; DLT_REGISTER_APP("GNSS", "GNSS-SERVICE"); DLT_REGISTER_CONTEXT(gContext,"GSRV", "Global Context"); LOG_DEBUG(gContext,"GNSSService listening on port %d...",port); if((s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))==-1) { LOG_ERROR_MSG(gContext,"socket() failed!"); exit(EXIT_FAILURE); } memset((char *) &si_me, 0, sizeof(si_me)); si_me.sin_family = AF_INET; si_me.sin_port = htons(port); si_me.sin_addr.s_addr = htonl(INADDR_ANY); if(bind(s, (struct sockaddr *)&si_me, (socklen_t)sizeof(si_me)) == -1) { LOG_ERROR_MSG(gContext,"bind() failed!"); exit(EXIT_FAILURE); } while(isRunning == true) { //use select to introduce a timeout - alloy shutdown even when no data are received fd_set readfs; /* file descriptor set */ int maxfd; /* maximum file desciptor used */ int res; struct timeval Timeout; /* set timeout value within input loop */ Timeout.tv_usec = 0; /* milliseconds */ Timeout.tv_sec = 1; /* seconds */ FD_SET(s, &readfs); maxfd = s+1; /* block until input becomes available */ res = select(maxfd, &readfs, NULL, NULL, &Timeout); if (res > 0) { readBytes = recvfrom(s, buf, BUFLEN, 0, (struct sockaddr *)&si_other, (socklen_t *)&slen); if(readBytes < 0) { LOG_ERROR_MSG(gContext,"recvfrom() failed!"); exit(EXIT_FAILURE); } buf[readBytes] = '\0'; LOG_DEBUG_MSG(gContext,"------------------------------------------------"); LOG_DEBUG(gContext,"Received Packet from %s:%d", inet_ntoa(si_other.sin_addr), ntohs(si_other.sin_port)); sscanf(buf, "%*[^'$']$%" STRINGIFY(MSGIDLEN) "[^',']", msgId); LOG_DEBUG(gContext,"MsgID:%s", msgId); LOG_DEBUG(gContext,"Len:%u", (unsigned int)strlen(buf)); LOG_DEBUG(gContext,"Data:%s", buf); LOG_DEBUG_MSG(gContext,"------------------------------------------------"); if(strcmp("GVGNSPOS", msgId) == 0) { processGVGNSPOS(buf); } else if(strcmp("GVGNSTIM", msgId) == 0) { processGVGNSTIM(buf); } else if(strcmp("GVGNSSAT", msgId) == 0) { processGVGNSSAT(buf); } //handling of old logs for backward compatibility else if(strcmp("GVGNSP", msgId) == 0) { processGVGNSP(buf); } else if(strcmp("GVGNSC", msgId) == 0) { processGVGNSC(buf); } else if(strcmp("GVGNSAC", msgId) == 0) { processGVGNSAC(buf); } } } close(s); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { int ret = 0; int shutdownReg = PCL_SHUTDOWN_TYPE_FAST | PCL_SHUTDOWN_TYPE_NORMAL; const char* appID = "lt-persistence_client_library_dbus_test"; (void)argc; (void)argv; printf("Dbus interface test application\n"); /// debug log and trace (DLT) setup DLT_REGISTER_APP("NOTY","tests the persistence client library"); DLT_REGISTER_CONTEXT(gPcltDLTContext, "PCLt", "Context for PCL testing"); ret = pclInitLibrary(appID, shutdownReg); printf("pclInitLibrary - %s - : %d\n", appID, ret); ret = pclKeyHandleOpen(PCL_LDBID_LOCAL, "posHandle/last_position", 0, 0); printf("Register for change notification\n"); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback); ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "69", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback); printf("Reg => 69: %d\n", ret); ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback); printf("Reg => 70: %d\n", ret); ret = pclKeyRegisterNotifyOnChange(PCL_LDBID_LOCAL, "key_70", 1/*user_no*/, 2/*seat_no*/, &myChangeCallback); printf("Reg => key_70: %d\n", ret); printf("Press enter to unregister to notifications\n"); getchar(); ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback); printf("UnReg => last_link2: %d\n", ret); printf("Press enter to proceed\n"); getchar(); ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback); printf("UnReg => last_link3: %d\n", ret); printf("Press enter to proceed\n"); getchar(); ret = pclKeyUnRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback); printf("UnReg => last_link4: %d\n", ret); printf("Press enter to register to notifications\n"); getchar(); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link2", 2/*user_no*/, 1/*seat_no*/, &myChangeCallback); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link3", 3/*user_no*/, 2/*seat_no*/, &myChangeCallback); ret = pclKeyRegisterNotifyOnChange(0x20, "links/last_link4", 4/*user_no*/, 1/*seat_no*/, &myChangeCallback); printf("Press enter to end\n"); getchar(); pclDeinitLibrary(); // unregister debug log and trace DLT_UNREGISTER_CONTEXT(gPcltDLTContext); DLT_UNREGISTER_APP(); return ret; }