static void logger_impl(struct core_logger_ctx * ctx, const char* msg) { char buf[BUF_TIME_SIZE], head[BUF_HEAD_SIZE]; struct tm tm; struct corelogger_stroe * store = &the_corelogger_store; struct logger_store* s = store->cur; if (!s) return; time_t now = time(NULL); localtime_s(&tm, &now); strftime(buf, BUF_SIZE, "%c", &tm); sprintf(head, "%s [%s][%s]", buf, ctx->key, LOG_LEVEL[ctx->level]); logger_write(s, ctx, ctx->key, &tm, head, msg); logger_write(s, ctx, "*", &tm, head, msg); }
static int __init logger_test_init(void) { int junk = 25; int ret; /* start kernel thread */ kthread = kthread_run((void *)thread, NULL, MODULE_NAME"_thread"); if (IS_ERR(kthread)) { printk(KERN_INFO MODULE_NAME ": unable to start kernel thread\n"); return -ENOMEM; } init_timer(&my_timer); my_timer.function = timer_func; my_timer.data = 0; my_timer.expires = jiffies + TIMER_DELAY_JIFFIES; add_timer(&my_timer); ret = logger_write(LOG_RADIO_IDX, LOG_PRIORITY_DEBUG, "MYTAG", "This should not be present in the log, %d\n", junk++); if (ret) printk(KERN_ERR "logger write 1 returned %d\n", ret); ret = logger_write(LOG_RADIO_IDX, LOGGER_TEST_PRIORITY, "MYTAG", "This >should< be present in the log, %d\n", junk++); if (ret) printk(KERN_ERR "logger write 2 returned %d\n", ret); ret = logger_write(LOG_RADIO_IDX, LOGGER_TEST_PRIORITY, "MYTAG1", "This >should< be present in the log with a new tag, %d\n", junk++); if (ret) printk(KERN_ERR "logger write 3 returned %d\n", ret); return 0; }
void ftpmap_delete(ftpmap_t *ftpmap) { char *answer = NULL; fprintf(ftpmap->fid, "DELE %s\r\n", ftpmap->deletepath); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; logger_write(ftpmap,":: %s", answer); }
void ftpmap_getlist(ftpmap_t *ftpmap) { FILE *fid; char buffer[MAX_STR]; char *answer = NULL; logger_write(ftpmap,":: Trying to receive LIST..\n\n"); fid = ftpmap_data_tunnel(ftpmap); fprintf(ftpmap->fid, "LIST %s\r\n", ftpmap->listpath); answer = ftpmap_getanswer(ftpmap); signal(SIGALRM, sigalrm); alarm(5); while ( (fgets(buffer, sizeof(buffer), fid)) != NULL ) { logger_write(ftpmap,"%s", buffer); } logger_write(ftpmap,":: End of output\n"); }
void ftpmap_mdtm(ftpmap_t *ftpmap) { char *answer = NULL; fprintf(ftpmap->fid, "MDTM %s\r\n", ftpmap->mdtmpath); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; logger_write(ftpmap,":: %s",answer); }
void logger_dump(const char *fmt, ...) { Logger *l = &logger; va_list args; char *buf = calloc(LOG_BUFFER_SIZE + 2, sizeof *buf); int len = 0; va_start(args, fmt); len += vsnprintf(buf + len, LOG_BUFFER_SIZE, fmt, args); va_end(args); logger_write(l->fd, buf, len); free(buf); }
static void timer_func(unsigned long ptr) { static int counter; int ret = logger_write(LOG_RADIO_IDX, LOGGER_TEST_PRIORITY, "MYTAG-INTERRUPT", "From timer interrupt: %d\n", counter); if (ret) printk(KERN_ERR "interrupt %d logger write ret: %d\n", counter, ret); counter++; my_timer.expires = jiffies + TIMER_DELAY_JIFFIES; add_timer(&my_timer); }
int main(void) { t_logger *logger; t_queue *queue; int a; int *b; a = 5; queue = queue_create(); if (queue_enqueue(queue, &a) < 0) return (-1); b = (int *)queue_dequeue(queue); queue_destroy(queue); logger = logger_create(); logger_write("Ceci est une gestion d\'erreur.\n"); logger_destroy(); return (0); }
void ftpmap_upload(ftpmap_t *ftpmap) { FILE *lfp, *fd; int fsize = 0; int rsize = 0, dsize = 0; int buffer[MAX_STR]; char *filename = "d"; char *answer = NULL; if ( strrchr(ftpmap->path, '/')) filename = (strrchr(ftpmap->path, '/'))+1; else filename = ftpmap->path; if (( lfp = fopen(ftpmap->path, "rb")) == NULL ) die(1, "Failed to read \'%s\' ...", ftpmap->path); fseek(lfp, 0L, SEEK_END); fsize += (int)ftell(lfp); fseek(lfp, 0L, SEEK_SET); fd = ftpmap_data_tunnel(ftpmap, "w"); fprintf(ftpmap->fid, "TYPE I\r\n"); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; fprintf(ftpmap->fid, "STOR %s\r\n", filename); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; logger_write(ftpmap, ":-: %s", answer); while (( rsize = fread(buffer, 1, sizeof(buffer), lfp)) > 0 ) { if ( buffer[rsize +1 ] == '\r' ) buffer[rsize + 1] = '\0'; dsize += fwrite(buffer, 1, rsize, fd); printf(":-: Uploading %s %s/%s bytes...\r", filename, calc_bytes_size(dsize), calc_bytes_size(fsize)); fflush(stdout); } printf(":-: File \'%s\' Uploaded ...\n", filename); fclose(lfp); }
static int thread(void *n) { int counter = 0; do { int ret; schedule_timeout_interruptible(THREAD_SLEEP_TIME_JIFFIES); ret = logger_write(LOG_RADIO_IDX, LOGGER_TEST_PRIORITY, "MYTAG-THREAD", "From Thread: %d\n", counter); if (ret) printk(KERN_ERR "thread %d logger write ret: %d\n", counter, ret); counter++; } while (!kthread_should_stop()); return 0; }
void ftpmap_download(ftpmap_t *ftpmap) { int fsize = ftpmap_fsize(ftpmap); int dsize = 0, rsize = 0; FILE *fd, *file; char *filename = NULL; char *answer = NULL; char buffer[MAX_STR]; filename = (strrchr(ftpmap->path, '/'))+1; if (( file = fopen(filename, "w")) == NULL ) die(1, "Failed to write %s.", ftpmap->path); fd = ftpmap_data_tunnel(ftpmap, "r"); fprintf(ftpmap->fid, "TYPE I\r\n"); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; fprintf(ftpmap->fid, "RETR %s\r\n", ftpmap->path); answer = ftpmap_getanswer(ftpmap); if ( *answer == 0 ) return; logger_write(ftpmap, ":-: %s", answer); while (( rsize = fread(buffer, 1, sizeof(buffer), fd)) > 0 ) { if ( buffer[rsize +1] == '\r' ) buffer[rsize +1] = '\0'; dsize += fwrite(buffer, 1, rsize, file); printf(":-: Downloading %s %s/%s ...\r",ftpmap->path,calc_bytes_size(dsize), calc_bytes_size(fsize)); fflush(stdout); } printf(":-: File saved: %s\n", filename); fclose(file); }
int main(int argc, char *argv[]) { logger_parameters params; params.log_level = LOG_LEVEL_NORMAL; params.log_format = LOG_FORMAT_JSON; if ( argc > 1) { params.log_file_path = argv[1]; params.log_rotate_count = argc > 2 ? atoi(argv[2]) : 0; logger_init_with_params(¶ms); } else logger_init(); printf("Log level ALL\n"); logger_set_log_level(LOG_LEVEL_ALL); LOGERROR("some error!"); logger_write("normal",LOG_ENTRY_NORMAL,"the message: %s","normal"); logger_write("err",LOG_ENTRY_ERROR,"the message: %s","error"); logger_write("warn",LOG_ENTRY_WARNING,"the message: %s","warning"); logger_write("info",LOG_ENTRY_INFO,"the message: %s","info"); printf("Log level NORMAL\n"); logger_set_log_level(LOG_LEVEL_NORMAL); logger_set_use_stdout(1); logger_write("norm",LOG_ENTRY_NORMAL,"the message: %s","normal"); logger_write("err",LOG_ENTRY_ERROR,"the message: %s","error"); logger_write("warn",LOG_ENTRY_WARNING,"the message: %s","warning"); logger_write("info",LOG_ENTRY_INFO,"the message: %s","info"); printf("Log level ERRORS\n"); logger_set_log_level(LOG_LEVEL_ERRORS); #ifndef LOGGER_MT logger_event_start("main",LOG_ENTRY_NORMAL,"logging"); #endif logger_write("norm",LOG_ENTRY_NORMAL,"the message: %s","normal"); logger_write("err",LOG_ENTRY_ERROR,"the message: %s","error"); logger_write("warn",LOG_ENTRY_WARNING,"the message: %s","warning"); logger_write("info",LOG_ENTRY_INFO,"the message: %s","info"); #ifndef LOGGER_MT logger_event_end("main",LOG_ENTRY_NORMAL,"logging"); #endif logger_fini(); return 0; }