418 { "TraceExceptions", LogLevel::Info, true, LOG_TAGS(exceptions) }, |
418 { "TraceExceptions", LogLevel::Info, true, LOG_TAGS(exceptions) }, |
419 { "TraceLoaderConstraints", LogLevel::Info, true, LOG_TAGS(class, loader, constraints) }, |
419 { "TraceLoaderConstraints", LogLevel::Info, true, LOG_TAGS(class, loader, constraints) }, |
420 { "TraceMonitorInflation", LogLevel::Debug, true, LOG_TAGS(monitorinflation) }, |
420 { "TraceMonitorInflation", LogLevel::Debug, true, LOG_TAGS(monitorinflation) }, |
421 { "TraceSafepointCleanupTime", LogLevel::Info, true, LOG_TAGS(safepoint, cleanup) }, |
421 { "TraceSafepointCleanupTime", LogLevel::Info, true, LOG_TAGS(safepoint, cleanup) }, |
422 { "TraceJVMTIObjectTagging", LogLevel::Debug, true, LOG_TAGS(jvmti, objecttagging) }, |
422 { "TraceJVMTIObjectTagging", LogLevel::Debug, true, LOG_TAGS(jvmti, objecttagging) }, |
|
423 { "TraceRedefineClasses", LogLevel::Info, false, LOG_TAGS(redefine, class) }, |
423 { NULL, LogLevel::Off, false, LOG_TAGS(_NO_TAG) } |
424 { NULL, LogLevel::Off, false, LOG_TAGS(_NO_TAG) } |
424 }; |
425 }; |
425 |
426 |
426 #ifndef PRODUCT |
427 #ifndef PRODUCT |
427 // These options are removed in jdk9. Remove this code for jdk10. |
428 // These options are removed in jdk9. Remove this code for jdk10. |
802 if (i > 0) { |
803 if (i > 0) { |
803 strncat(tagset_buffer, "+", max_tagset_len - strlen(tagset_buffer)); |
804 strncat(tagset_buffer, "+", max_tagset_len - strlen(tagset_buffer)); |
804 } |
805 } |
805 strncat(tagset_buffer, LogTag::name(tagSet[i]), max_tagset_len - strlen(tagset_buffer)); |
806 strncat(tagset_buffer, LogTag::name(tagSet[i]), max_tagset_len - strlen(tagset_buffer)); |
806 } |
807 } |
807 |
808 if (!alf.exactMatch) { |
|
809 strncat(tagset_buffer, "*", max_tagset_len - strlen(tagset_buffer)); |
|
810 } |
808 log_warning(arguments)("-XX:%s%s is deprecated. Will use -Xlog:%s=%s instead.", |
811 log_warning(arguments)("-XX:%s%s is deprecated. Will use -Xlog:%s=%s instead.", |
809 (on) ? "+" : "-", |
812 (on) ? "+" : "-", |
810 name, |
813 name, |
811 tagset_buffer, |
814 tagset_buffer, |
812 (on) ? LogLevel::name(alf.level) : "off"); |
815 (on) ? LogLevel::name(alf.level) : "off"); |
863 if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "%c", name, &punct) == 2 && punct == '=') { |
866 if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "%c", name, &punct) == 2 && punct == '=') { |
864 const char* value = strchr(arg, '=') + 1; |
867 const char* value = strchr(arg, '=') + 1; |
865 Flag* flag; |
868 Flag* flag; |
866 |
869 |
867 // this scanf pattern matches both strings (handled here) and numbers (handled later)) |
870 // this scanf pattern matches both strings (handled here) and numbers (handled later)) |
|
871 AliasedLoggingFlag alf = catch_logging_aliases(name, true); |
|
872 if (alf.alias_name != NULL) { |
|
873 LogConfiguration::configure_stdout(alf.level, alf.exactMatch, alf.tag0, alf.tag1, alf.tag2, alf.tag3, alf.tag4, alf.tag5); |
|
874 return true; |
|
875 } |
868 real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); |
876 real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); |
869 if (real_name == NULL) { |
877 if (real_name == NULL) { |
870 return false; |
878 return false; |
871 } |
879 } |
872 flag = Flag::find_flag(real_name); |
880 flag = Flag::find_flag(real_name); |