void LogViewWindow::exportLog(int iId) { LogListViewItem * pItem = (LogListViewItem *)(m_pListView->currentItem()); if(!pItem) return; if(!pItem->childCount()) { // Export the log createLog(pItem->log(), iId); return; } // We selected a node in the log list, scan the children KviPointerList<LogListViewItem> logList; logList.setAutoDelete(false); for(int i = 0; i < pItem->childCount(); i++) { if(!pItem->child(i)->childCount()) { // The child is a log file, append it to the list logList.append((LogListViewItem *)pItem->child(i)); continue; } // The child is a node, scan it LogListViewItem * pChild = (LogListViewItem *)pItem->child(i); for(int j=0; j < pChild->childCount(); j++) { if(!(LogListViewItem *)pChild->child(j)) { qDebug("Null pointer in logviewitem"); continue; } // Add the child to the list logList.append((LogListViewItem *)pChild->child(j)); } } // Scan the list for(unsigned int u = 0; u < logList.count(); u++) { LogListViewItem * pCurItem = logList.at(u); createLog(pCurItem->log(), iId); } }
/** * @brief This function handles Hard Fault exception. * @param None * @retval None */ void HardFault_Handler(void) { createLog(MAIN_MODULE,EVENT_LOG,"Hard Fault exception, force DEVICE reset"); saveLog2SDC(); NVIC_SystemReset(); /* Go to infinite loop when Hard Fault exception occurs */ while (1) { } }
/** * @brief This function handles Memory Manage exception. * @param None * @retval None */ void MemManage_Handler(void) { createLog(MAIN_MODULE,EVENT_LOG,"Memory Manage exception, force DEVICE reset"); saveLog2SDC(); // Reset MU NVIC_SystemReset(); /* Go to infinite loop when Memory Manage exception occurs */ while (1) { } }
int main(int argc, char* argv[]) { // Inizializza la configurazione leggendo da httpd.conf init(); // Inizializza il file di Log createLog(log_file); printf("Settings:\n"); printf("Porta:\t\t\t%i\n", port); printf("Server root:\t\t%s\n", wwwroot); printf("Configuration file:\t%s\n", conf_file); printf("Logfile:\t\t%s\n", log_file); chdir(wwwroot); //Avvia il webServer start(); return 0; }
Log::Log(String t) { type = t; createLog(); }
int main(int argc,char *argv[]) { struct sockaddr_in si_server, si_client; struct sigaction sa; char *ep, *rec_time, buffer[BUFLEN]; int ss; socklen_t slen; pid_t pid; u_long p; u_short port; char *doc_dir, *log_dir; if (argc != 4){ usage(); errno = 0; } p = strtoul(argv[1], &ep, 10); if (*argv[1] == '\0' || *ep != '\0') { /* port wasn't a number, or was empty */ fprintf(stderr, "%s - not a number\n", argv[1]); usage(); } if ((errno == ERANGE && p == ULONG_MAX) || (p > USHRT_MAX)) { /* * port is a number, but it either can't fit in an unsigned * long, or is too big for an unsigned short */ fprintf(stderr, "%s - Port value out of range\n", argv[1]); usage(); } port = p; doc_dir = argv[2]; log_dir = argv[3]; createLog(log_dir); /* daemonize */ if (daemon(1, 0) == -1) err(1, "daemon() failed"); bzero(&si_server, sizeof(si_server)); si_server.sin_family = AF_INET; si_server.sin_port = htons(port); si_server.sin_addr.s_addr = htonl(INADDR_ANY); if ((ss = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) err(1,"Client: cannot open socket\n"); if (bind(ss, (struct sockaddr *)&si_server, sizeof(si_server)) == -1) err(1,"Error in binding the socket\n"); /* Catching SIGCHLD to make sure we have no zombies children */ sa.sa_handler = kidhandler; sigemptyset(&sa.sa_mask); /* * allow system calls(eg. accept) to be restarted * if they get interrupted by a SIGCHLD */ sa.sa_flags = SA_RESTART; if (sigaction(SIGCHLD, &sa, NULL) == -1) err(1, "sigaction failed\n"); printf("File Server listening to port: %d\n", ntohs(si_server.sin_port)); while(1){ memset(buffer, 0, sizeof(buffer)); slen = sizeof(si_client); if((recvfrom(ss, buffer, sizeof(buffer), 0, (struct sockaddr *)&si_client, &slen)) != -1) { pid = fork(); if (pid == 0){ rec_time = getTime(); handle_transmission(log_dir, doc_dir, ss, si_client, rec_time, buffer); close(ss); exit(0); } else if (pid == -1) { err(1, "Fork failed"); } } } }