Add --verbosity=verbose log level

PR #2371 <https://github.com/Genymobile/scrcpy/pull/2371>

Signed-off-by: Romain Vimont <rom@rom1v.com>
This commit is contained in:
Marti Raudsepp 2021-06-17 22:40:30 +03:00 committed by Romain Vimont
parent 7db0189f23
commit 937fa704a6
6 changed files with 20 additions and 3 deletions

View file

@ -193,7 +193,7 @@ It requires to lock the video orientation (see --lock-video-orientation).
.TP .TP
.BI "\-V, \-\-verbosity " value .BI "\-V, \-\-verbosity " value
Set the log level ("debug", "info", "warn" or "error"). Set the log level ("verbose", "debug", "info", "warn" or "error").
Default is "info" for release builds, "debug" for debug builds. Default is "info" for release builds, "debug" for debug builds.

View file

@ -184,7 +184,7 @@ scrcpy_print_usage(const char *arg0) {
"\n" "\n"
#endif #endif
" -V, --verbosity value\n" " -V, --verbosity value\n"
" Set the log level (debug, info, warn or error).\n" " Set the log level (verbose, debug, info, warn or error).\n"
#ifndef NDEBUG #ifndef NDEBUG
" Default is debug.\n" " Default is debug.\n"
#else #else
@ -505,6 +505,11 @@ parse_display_id(const char *s, uint32_t *display_id) {
static bool static bool
parse_log_level(const char *s, enum sc_log_level *log_level) { parse_log_level(const char *s, enum sc_log_level *log_level) {
if (!strcmp(s, "verbose")) {
*log_level = SC_LOG_LEVEL_VERBOSE;
return true;
}
if (!strcmp(s, "debug")) { if (!strcmp(s, "debug")) {
*log_level = SC_LOG_LEVEL_DEBUG; *log_level = SC_LOG_LEVEL_DEBUG;
return true; return true;

View file

@ -41,6 +41,8 @@ print_version(void) {
static SDL_LogPriority static SDL_LogPriority
convert_log_level_to_sdl(enum sc_log_level level) { convert_log_level_to_sdl(enum sc_log_level level) {
switch (level) { switch (level) {
case SC_LOG_LEVEL_VERBOSE:
return SDL_LOG_PRIORITY_VERBOSE;
case SC_LOG_LEVEL_DEBUG: case SC_LOG_LEVEL_DEBUG:
return SDL_LOG_PRIORITY_DEBUG; return SDL_LOG_PRIORITY_DEBUG;
case SC_LOG_LEVEL_INFO: case SC_LOG_LEVEL_INFO:

View file

@ -8,6 +8,7 @@
#include <stdint.h> #include <stdint.h>
enum sc_log_level { enum sc_log_level {
SC_LOG_LEVEL_VERBOSE,
SC_LOG_LEVEL_DEBUG, SC_LOG_LEVEL_DEBUG,
SC_LOG_LEVEL_INFO, SC_LOG_LEVEL_INFO,
SC_LOG_LEVEL_WARN, SC_LOG_LEVEL_WARN,

View file

@ -235,6 +235,8 @@ enable_tunnel_any_port(struct server *server, struct sc_port_range port_range,
static const char * static const char *
log_level_to_server_string(enum sc_log_level level) { log_level_to_server_string(enum sc_log_level level) {
switch (level) { switch (level) {
case SC_LOG_LEVEL_VERBOSE:
return "verbose";
case SC_LOG_LEVEL_DEBUG: case SC_LOG_LEVEL_DEBUG:
return "debug"; return "debug";
case SC_LOG_LEVEL_INFO: case SC_LOG_LEVEL_INFO:

View file

@ -12,7 +12,7 @@ public final class Ln {
private static final String PREFIX = "[server] "; private static final String PREFIX = "[server] ";
enum Level { enum Level {
DEBUG, INFO, WARN, ERROR VERBOSE, DEBUG, INFO, WARN, ERROR
} }
private static Level threshold = Level.INFO; private static Level threshold = Level.INFO;
@ -36,6 +36,13 @@ public final class Ln {
return level.ordinal() >= threshold.ordinal(); return level.ordinal() >= threshold.ordinal();
} }
public static void v(String message) {
if (isEnabled(Level.VERBOSE)) {
Log.v(TAG, message);
System.out.println(PREFIX + "VERBOSE: " + message);
}
}
public static void d(String message) { public static void d(String message) {
if (isEnabled(Level.DEBUG)) { if (isEnabled(Level.DEBUG)) {
Log.d(TAG, message); Log.d(TAG, message);