reader->partial_log_size = ple->len - r;
memcpy(reader->partial_log, ple + r, reader->partial_log_size);
goto cleanup;
- } else if ((reader->file.rotate_size_kbytes > 0) && ((reader->file.size / 1024) >= reader->file.rotate_size_kbytes)) {
+ } else if ((reader->file.rotate_size_kbytes > 0) &&
+ (BtoKiB(reader->file.size) >= reader->file.rotate_size_kbytes)) {
if (!plaintext && write_blob_to_file(reader, &g_file_buffer) < 0)
goto cleanup;
int written_bytes = log_print_log_line(reader->file.format, reader->file.fd, &le);
if (written_bytes > 0) {
reader->file.size += written_bytes;
- if ((reader->file.rotate_size_kbytes > 0) && ((reader->file.size / 1024) >= reader->file.rotate_size_kbytes))
+ if ((reader->file.rotate_size_kbytes > 0) &&
+ (BtoKiB(reader->file.size) >= reader->file.rotate_size_kbytes))
rotate_logs(&reader->file);
}
}
int retval = 0;
int wr_socket_fd = wr ? wr->socket_fd : -1;
struct reader * reader;
+ struct stat stat_buf;
char const * conf_val;
struct log_config conf = {NULL, NULL};
if (retval < 0)
goto cleanup;
}
+
+ if (!fstat(reader->file.fd, &stat_buf)) {
+ reader->file.size = stat_buf.st_size;
+ if ((reader->file.rotate_size_kbytes > 0) &&
+ (BtoKiB(reader->file.size) > reader->file.rotate_size_kbytes))
+ rotate_logs(&(reader->file));
+ }
} else {
reader->file.rotate_size_kbytes = 0;
reader->file.max_rotated = 0;
return 1;
}
- printf("Buffer #%d (%s) has size %d KB\n", log_id_by_name(names[cnt]), names[cnt], atoi(conf_value) / 1024);
+ printf("Buffer #%d (%s) has size %d KB\n", log_id_by_name(names[cnt]),
+ names[cnt], BtoKiB(atoi(conf_value)));
}
return 0;
}
int written_bytes = log_print_log_line(l_file.format, l_file.fd, & entry);
if (written_bytes > 0)
l_file.size += written_bytes;
- if ((l_file.rotate_size_kbytes > 0) && ((l_file.size / 1024) >= l_file.rotate_size_kbytes))
+ if ((l_file.rotate_size_kbytes > 0) && (BtoKiB(l_file.size) >= l_file.rotate_size_kbytes))
rotate_logs(&l_file);
return 1;
} else
r = log_print_log_line(l_file.format, l_file.fd, &entry);
if (r > 0)
l_file.size += r;
- if ((l_file.rotate_size_kbytes > 0) && ((l_file.size / 1024) >= l_file.rotate_size_kbytes))
+ if ((l_file.rotate_size_kbytes > 0) &&
+ (BtoKiB(l_file.size) >= l_file.rotate_size_kbytes))
rotate_logs(&l_file);
if (dump && !--dump) {
looping = 0;
int i;
int option;
int tag_cnt = 0;
+ struct stat stat_buf;
l_file.fd = 1;
l_file.format = log_format_new();
return 1;
}
- if (l_file.path)
+ if (l_file.path) {
l_file.fd = open(l_file.path, O_CREAT | O_WRONLY | O_APPEND, S_IRUSR | S_IWUSR);
+ if (l_file.fd < 0) {
+ printf("Failed to open %s", l_file.path);
+ return 1;
+ }
+
+ if (!fstat(l_file.fd, &stat_buf)) {
+ l_file.size = stat_buf.st_size;
+ if ((l_file.rotate_size_kbytes > 0) &&
+ (BtoKiB(l_file.size) > l_file.rotate_size_kbytes))
+ rotate_logs(&l_file);
+ }
+ }
for (i = 0; i < buffer_cnt; ++i) {
struct fd_info * fdi;