1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-05-09 02:50:38 +03:00

cleanup: simplify logging code

Condense code for logging.
This commit is contained in:
Zdenek Kabelac 2012-03-26 13:50:44 +02:00
parent 877418b1a2
commit b53e9ba66a
2 changed files with 25 additions and 59 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.105 - Version 2.02.105 -
===================================== =====================================
Reodered and simplified logging code.
Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules. Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules.
Disable online thin pool metadata resize for 1.9 kernel thin target. Disable online thin pool metadata resize for 1.9 kernel thin target.
Shortened code for initialization of raid segment types. Shortened code for initialization of raid segment types.

View File

@ -199,6 +199,8 @@ void print_log(int level, const char *file, int line, int dm_errno_or_class,
int log_once = level & _LOG_ONCE; int log_once = level & _LOG_ONCE;
int fatal_internal_error = 0; int fatal_internal_error = 0;
size_t msglen; size_t msglen;
const char *indent_spaces = "";
FILE *stream;
level &= ~(_LOG_STDERR|_LOG_ONCE); level &= ~(_LOG_STDERR|_LOG_ONCE);
@ -278,76 +280,39 @@ void print_log(int level, const char *file, int line, int dm_errno_or_class,
} }
log_it: log_it:
if (!_log_suppress) { if ((verbose_level() >= level) && !_log_suppress) {
if (verbose_level() > _LOG_DEBUG) if (verbose_level() > _LOG_DEBUG) {
(void) dm_snprintf(locn, sizeof(locn), "#%s:%d ", (void) dm_snprintf(buf, sizeof(buf), "#%s:%d ",
file, line); file, line);
else } else
locn[0] = '\0'; buf[0] = '\0';
if (_indent)
switch (level) {
case _LOG_NOTICE: indent_spaces = " "; break;
case _LOG_INFO: indent_spaces = " "; break;
case _LOG_DEBUG: indent_spaces = " "; break;
default: /* nothing to do */;
}
va_start(ap, format); va_start(ap, format);
switch (level) { switch (level) {
case _LOG_DEBUG: case _LOG_DEBUG:
if (!strcmp("<backtrace>", format) && if ((verbose_level() == level) &&
verbose_level() <= _LOG_DEBUG) (strcmp("<backtrace>", format) == 0))
break; break;
if (verbose_level() < _LOG_DEBUG) if (verbose_level() < _LOG_DEBUG)
break; break;
if (!debug_class_is_logged(dm_errno_or_class)) if (!debug_class_is_logged(dm_errno_or_class))
break; break;
fprintf(stderr, "%s%s%s", locn, log_command_name(), /* fall through */
_msg_prefix);
if (_indent)
fprintf(stderr, " ");
vfprintf(stderr, trformat, ap);
fputc('\n', stderr);
break;
case _LOG_INFO:
if (verbose_level() >= _LOG_INFO) {
fprintf(stderr, "%s%s%s", locn, log_command_name(),
_msg_prefix);
if (_indent)
fprintf(stderr, " ");
vfprintf(stderr, trformat, ap);
fputc('\n', stderr);
}
break;
case _LOG_NOTICE:
if (verbose_level() >= _LOG_NOTICE) {
fprintf(stderr, "%s%s%s", locn, log_command_name(),
_msg_prefix);
if (_indent)
fprintf(stderr, " ");
vfprintf(stderr, trformat, ap);
fputc('\n', stderr);
}
break;
case _LOG_WARN:
if (verbose_level() >= _LOG_WARN) {
fprintf(use_stderr ? stderr : stdout, "%s%s",
log_command_name(), _msg_prefix);
vfprintf(use_stderr ? stderr : stdout, trformat, ap);
fputc('\n', use_stderr ? stderr : stdout);
}
break;
case _LOG_ERR:
if (verbose_level() >= _LOG_ERR) {
fprintf(stderr, "%s%s%s", locn, log_command_name(),
_msg_prefix);
vfprintf(stderr, trformat, ap);
fputc('\n', stderr);
}
break;
case _LOG_FATAL:
default: default:
if (verbose_level() >= _LOG_FATAL) { /* Typically only log_warn goes to stdout */
fprintf(stderr, "%s%s%s", locn, log_command_name(), stream = (use_stderr || (level != _LOG_WARN)) ? stderr : stdout;
_msg_prefix); fprintf(stream, "%s%s%s%s", buf, log_command_name(),
vfprintf(stderr, trformat, ap); _msg_prefix, indent_spaces);
fputc('\n', stderr); vfprintf(stream, trformat, ap);
} fputc('\n', stream);
break;
} }
va_end(ap); va_end(ap);
} }